aboutsummaryrefslogtreecommitdiff
path: root/el_GR.ISO8859-7/books/handbook
diff options
context:
space:
mode:
authorSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-01-25 23:31:29 +0000
committerSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-01-25 23:31:29 +0000
commit989d921f5d4ac8d8b7c831c13b8954ad1901be24 (patch)
treea5d768f9af4b55422fdf5b17064879ae1c7ce032 /el_GR.ISO8859-7/books/handbook
parent0cff342f42461c5081b98bce7581f43df319e4f4 (diff)
downloaddoc-989d921f5d4ac8d8b7c831c13b8954ad1901be24.tar.gz
doc-989d921f5d4ac8d8b7c831c13b8954ad1901be24.zip
Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
Diffstat (limited to 'el_GR.ISO8859-7/books/handbook')
-rw-r--r--el_GR.ISO8859-7/books/handbook/Makefile328
-rw-r--r--el_GR.ISO8859-7/books/handbook/advanced-networking/chapter.xml4712
-rw-r--r--el_GR.ISO8859-7/books/handbook/audit/chapter.xml721
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/chapter.xml2875
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/example-dir1.dot12
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/example-dir2.dot13
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/example-dir3.dot14
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/example-dir4.dot15
-rw-r--r--el_GR.ISO8859-7/books/handbook/basics/example-dir5.dot14
-rw-r--r--el_GR.ISO8859-7/books/handbook/bibliography/chapter.xml541
-rw-r--r--el_GR.ISO8859-7/books/handbook/book.xml328
-rw-r--r--el_GR.ISO8859-7/books/handbook/boot/chapter.xml1066
-rw-r--r--el_GR.ISO8859-7/books/handbook/bsdinstall/chapter.xml2776
-rw-r--r--el_GR.ISO8859-7/books/handbook/chapters.ent78
-rw-r--r--el_GR.ISO8859-7/books/handbook/colophon.xml27
-rw-r--r--el_GR.ISO8859-7/books/handbook/config/chapter.xml3221
-rw-r--r--el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.xml3381
-rw-r--r--el_GR.ISO8859-7/books/handbook/desktop/chapter.xml1390
-rw-r--r--el_GR.ISO8859-7/books/handbook/disks/chapter.xml4015
-rw-r--r--el_GR.ISO8859-7/books/handbook/dtrace/Makefile18
-rw-r--r--el_GR.ISO8859-7/books/handbook/dtrace/chapter.xml400
-rw-r--r--el_GR.ISO8859-7/books/handbook/eresources/chapter.xml2207
-rw-r--r--el_GR.ISO8859-7/books/handbook/filesystems/Makefile18
-rw-r--r--el_GR.ISO8859-7/books/handbook/filesystems/chapter.xml919
-rw-r--r--el_GR.ISO8859-7/books/handbook/firewalls/chapter.xml3507
-rw-r--r--el_GR.ISO8859-7/books/handbook/geom/chapter.xml996
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/chapter.xml5166
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/example-dir1.dot12
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/example-dir2.dot13
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/example-dir3.dot13
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/example-dir4.dot14
-rw-r--r--el_GR.ISO8859-7/books/handbook/install/example-dir5.dot14
-rw-r--r--el_GR.ISO8859-7/books/handbook/introduction/chapter.xml1284
-rw-r--r--el_GR.ISO8859-7/books/handbook/jails/chapter.xml1018
-rw-r--r--el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.xml1613
-rw-r--r--el_GR.ISO8859-7/books/handbook/l10n/chapter.xml1006
-rw-r--r--el_GR.ISO8859-7/books/handbook/linuxemu/chapter.xml1415
-rw-r--r--el_GR.ISO8859-7/books/handbook/mac/chapter.xml2093
-rw-r--r--el_GR.ISO8859-7/books/handbook/mail/chapter.xml2324
-rw-r--r--el_GR.ISO8859-7/books/handbook/mirrors/chapter.xml3388
-rw-r--r--el_GR.ISO8859-7/books/handbook/multimedia/chapter.xml1970
-rw-r--r--el_GR.ISO8859-7/books/handbook/network-servers/chapter.xml4758
-rw-r--r--el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.xml50
-rw-r--r--el_GR.ISO8859-7/books/handbook/ports/chapter.xml1606
-rw-r--r--el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.xml3266
-rw-r--r--el_GR.ISO8859-7/books/handbook/preface/preface.xml816
-rw-r--r--el_GR.ISO8859-7/books/handbook/printing/chapter.xml5171
-rw-r--r--el_GR.ISO8859-7/books/handbook/security/chapter.xml4899
-rw-r--r--el_GR.ISO8859-7/books/handbook/serialcomms/chapter.xml3125
-rw-r--r--el_GR.ISO8859-7/books/handbook/txtfiles.ent79
-rw-r--r--el_GR.ISO8859-7/books/handbook/users/chapter.xml1085
-rw-r--r--el_GR.ISO8859-7/books/handbook/vinum/chapter.xml1343
-rw-r--r--el_GR.ISO8859-7/books/handbook/virtualization/chapter.xml1291
-rw-r--r--el_GR.ISO8859-7/books/handbook/x11/chapter.xml1796
54 files changed, 0 insertions, 84220 deletions
diff --git a/el_GR.ISO8859-7/books/handbook/Makefile b/el_GR.ISO8859-7/books/handbook/Makefile
deleted file mode 100644
index 465ebae637..0000000000
--- a/el_GR.ISO8859-7/books/handbook/Makefile
+++ /dev/null
@@ -1,328 +0,0 @@
-#
-# $FreeBSD$
-#
-# Μορφοποίηση του Εγχειριδίου του FreeBSD
-#
-# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile
-# %SRCID% 43126
-#
-
-# ------------------------------------------------------------------------
-#
-# Για να προσθέσετε ένα νέο κεφάλαιο στο Εγχειρίδιο:
-#
-# - Ενημερώστε αυτό το Makefile, το chapters.ent και το book.xml
-# - Προσθέστε μια σύντομη περιγραφή του κεφαλαίου στο preface/preface.xml
-#
-# ------------------------------------------------------------------------
-
-.PATH: ${.CURDIR}/../../share/xml/glossary
-
-MAINTAINER= doc@FreeBSD.org
-
-DOC?= book
-
-FORMATS?= html-split
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-IMAGES_EN = advanced-networking/isdn-bus.eps
-IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
-IMAGES_EN+= advanced-networking/natd.eps
-IMAGES_EN+= advanced-networking/net-routing.pic
-IMAGES_EN+= advanced-networking/pxe-nfs.png
-IMAGES_EN+= advanced-networking/static-routes.pic
-IMAGES_EN+= bsdinstall/bsdinstall-adduser1.png
-IMAGES_EN+= bsdinstall/bsdinstall-adduser2.png
-IMAGES_EN+= bsdinstall/bsdinstall-adduser3.png
-IMAGES_EN+= bsdinstall/bsdinstall-boot-loader-menu.png
-IMAGES_EN+= bsdinstall/bsdinstall-choose-mode.png
-IMAGES_EN+= bsdinstall/bsdinstall-config-components.png
-IMAGES_EN+= bsdinstall/bsdinstall-config-hostname.png
-IMAGES_EN+= bsdinstall/bsdinstall-config-keymap.png
-IMAGES_EN+= bsdinstall/bsdinstall-config-services.png
-IMAGES_EN+= bsdinstall/bsdinstall-config-crashdump.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-static.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv6-static.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-slaac.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-network-ipv4-dns.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-accesspoints.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-scan.png
-IMAGES_EN+= bsdinstall/bsdinstall-configure-wireless-wpa2setup.png
-IMAGES_EN+= bsdinstall/bsdinstall-distfile-extracting.png
-IMAGES_EN+= bsdinstall/bsdinstall-distfile-fetching.png
-IMAGES_EN+= bsdinstall/bsdinstall-distfile-verifying.png
-IMAGES_EN+= bsdinstall/bsdinstall-final-confirmation.png
-IMAGES_EN+= bsdinstall/bsdinstall-finalconfiguration.png
-IMAGES_EN+= bsdinstall/bsdinstall-final-modification-shell.png
-IMAGES_EN+= bsdinstall/bsdinstall-keymap-select-default.png
-IMAGES_EN+= bsdinstall/bsdinstall-mainexit.png
-IMAGES_EN+= bsdinstall/bsdinstall-netinstall-files.png
-IMAGES_EN+= bsdinstall/bsdinstall-netinstall-mirrorselect.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-entire-part.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-guided-disk.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-guided-manual.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-manual-addpart.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-manual-create.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-manual-partscheme.png
-IMAGES_EN+= bsdinstall/bsdinstall-part-review.png
-IMAGES_EN+= bsdinstall/bsdinstall-post-root-passwd.png
-IMAGES_EN+= bsdinstall/bsdinstall-set-clock-local-utc.png
-IMAGES_EN+= bsdinstall/bsdinstall-timezone-confirm.png
-IMAGES_EN+= bsdinstall/bsdinstall-timezone-country.png
-IMAGES_EN+= bsdinstall/bsdinstall-timezone-region.png
-IMAGES_EN+= bsdinstall/bsdinstall-timezone-zone.png
-IMAGES_EN+= geom/striping.pic
-IMAGES_EN+= install/adduser1.scr
-IMAGES_EN+= install/adduser2.scr
-IMAGES_EN+= install/adduser3.scr
-IMAGES_EN+= install/boot-loader-menu.scr
-IMAGES_EN+= install/boot-mgr.scr
-IMAGES_EN+= install/config-country.scr
-IMAGES_EN+= install/config-keymap.scr
-IMAGES_EN+= install/console-saver1.scr
-IMAGES_EN+= install/console-saver2.scr
-IMAGES_EN+= install/console-saver3.scr
-IMAGES_EN+= install/console-saver4.scr
-IMAGES_EN+= install/disklabel-auto.scr
-IMAGES_EN+= install/disklabel-ed1.scr
-IMAGES_EN+= install/disklabel-ed2.scr
-IMAGES_EN+= install/disklabel-fs.scr
-IMAGES_EN+= install/disklabel-root1.scr
-IMAGES_EN+= install/disklabel-root2.scr
-IMAGES_EN+= install/disklabel-root3.scr
-IMAGES_EN+= install/disk-layout.eps
-IMAGES_EN+= install/dist-set.scr
-IMAGES_EN+= install/dist-set2.scr
-IMAGES_EN+= install/docmenu1.scr
-IMAGES_EN+= install/ed0-conf.scr
-IMAGES_EN+= install/ed0-conf2.scr
-IMAGES_EN+= install/edit-inetd-conf.scr
-IMAGES_EN+= install/fdisk-drive1.scr
-IMAGES_EN+= install/fdisk-drive2.scr
-IMAGES_EN+= install/fdisk-edit1.scr
-IMAGES_EN+= install/fdisk-edit2.scr
-IMAGES_EN+= install/ftp-anon1.scr
-IMAGES_EN+= install/ftp-anon2.scr
-IMAGES_EN+= install/hdwrconf.scr
-IMAGES_EN+= install/keymap.scr
-IMAGES_EN+= install/main1.scr
-IMAGES_EN+= install/mainexit.scr
-IMAGES_EN+= install/main-std.scr
-IMAGES_EN+= install/main-options.scr
-IMAGES_EN+= install/main-doc.scr
-IMAGES_EN+= install/main-keymap.scr
-IMAGES_EN+= install/media.scr
-IMAGES_EN+= install/mouse1.scr
-IMAGES_EN+= install/mouse2.scr
-IMAGES_EN+= install/mouse3.scr
-IMAGES_EN+= install/mouse4.scr
-IMAGES_EN+= install/mouse5.scr
-IMAGES_EN+= install/mouse6.scr
-IMAGES_EN+= install/mta-main.scr
-IMAGES_EN+= install/net-config-menu1.scr
-IMAGES_EN+= install/net-config-menu2.scr
-IMAGES_EN+= install/nfs-server-edit.scr
-IMAGES_EN+= install/ntp-config.scr
-IMAGES_EN+= install/options.scr
-IMAGES_EN+= install/pkg-cat.scr
-IMAGES_EN+= install/pkg-confirm.scr
-IMAGES_EN+= install/pkg-install.scr
-IMAGES_EN+= install/pkg-sel.scr
-IMAGES_EN+= install/probstart.scr
-IMAGES_EN+= install/routed.scr
-IMAGES_EN+= install/security.scr
-IMAGES_EN+= install/sysinstall-exit.scr
-IMAGES_EN+= install/timezone1.scr
-IMAGES_EN+= install/timezone2.scr
-IMAGES_EN+= install/timezone3.scr
-IMAGES_EN+= install/userconfig.scr
-IMAGES_EN+= install/userconfig2.scr
-IMAGES_EN+= mail/mutt1.scr
-IMAGES_EN+= mail/mutt2.scr
-IMAGES_EN+= mail/mutt3.scr
-IMAGES_EN+= mail/pine1.scr
-IMAGES_EN+= mail/pine2.scr
-IMAGES_EN+= mail/pine3.scr
-IMAGES_EN+= mail/pine4.scr
-IMAGES_EN+= mail/pine5.scr
-
-IMAGES_EN+= install/example-dir1.eps
-IMAGES_EN+= install/example-dir2.eps
-IMAGES_EN+= install/example-dir3.eps
-IMAGES_EN+= install/example-dir4.eps
-IMAGES_EN+= install/example-dir5.eps
-IMAGES_EN+= security/ipsec-network.pic
-IMAGES_EN+= security/ipsec-crypt-pkt.pic
-IMAGES_EN+= security/ipsec-encap-pkt.pic
-IMAGES_EN+= security/ipsec-out-pkt.pic
-IMAGES_EN+= virtualization/parallels-freebsd1.png
-IMAGES_EN+= virtualization/parallels-freebsd2.png
-IMAGES_EN+= virtualization/parallels-freebsd3.png
-IMAGES_EN+= virtualization/parallels-freebsd4.png
-IMAGES_EN+= virtualization/parallels-freebsd5.png
-IMAGES_EN+= virtualization/parallels-freebsd6.png
-IMAGES_EN+= virtualization/parallels-freebsd7.png
-IMAGES_EN+= virtualization/parallels-freebsd8.png
-IMAGES_EN+= virtualization/parallels-freebsd9.png
-IMAGES_EN+= virtualization/parallels-freebsd10.png
-IMAGES_EN+= virtualization/parallels-freebsd11.png
-IMAGES_EN+= virtualization/parallels-freebsd12.png
-IMAGES_EN+= virtualization/parallels-freebsd13.png
-IMAGES_EN+= virtualization/virtualpc-freebsd1.png
-IMAGES_EN+= virtualization/virtualpc-freebsd2.png
-IMAGES_EN+= virtualization/virtualpc-freebsd3.png
-IMAGES_EN+= virtualization/virtualpc-freebsd4.png
-IMAGES_EN+= virtualization/virtualpc-freebsd5.png
-IMAGES_EN+= virtualization/virtualpc-freebsd6.png
-IMAGES_EN+= virtualization/virtualpc-freebsd7.png
-IMAGES_EN+= virtualization/virtualpc-freebsd8.png
-IMAGES_EN+= virtualization/virtualpc-freebsd9.png
-IMAGES_EN+= virtualization/virtualpc-freebsd10.png
-IMAGES_EN+= virtualization/virtualpc-freebsd11.png
-IMAGES_EN+= virtualization/virtualpc-freebsd12.png
-IMAGES_EN+= virtualization/virtualpc-freebsd13.png
-IMAGES_EN+= virtualization/vmware-freebsd01.png
-IMAGES_EN+= virtualization/vmware-freebsd02.png
-IMAGES_EN+= virtualization/vmware-freebsd03.png
-IMAGES_EN+= virtualization/vmware-freebsd04.png
-IMAGES_EN+= virtualization/vmware-freebsd05.png
-IMAGES_EN+= virtualization/vmware-freebsd06.png
-IMAGES_EN+= virtualization/vmware-freebsd07.png
-IMAGES_EN+= virtualization/vmware-freebsd08.png
-IMAGES_EN+= virtualization/vmware-freebsd09.png
-IMAGES_EN+= virtualization/vmware-freebsd10.png
-IMAGES_EN+= virtualization/vmware-freebsd11.png
-IMAGES_EN+= virtualization/vmware-freebsd12.png
-
-# Images from the cross-document image library
-IMAGES_LIB= callouts/1.png
-IMAGES_LIB+= callouts/2.png
-IMAGES_LIB+= callouts/3.png
-IMAGES_LIB+= callouts/4.png
-IMAGES_LIB+= callouts/5.png
-IMAGES_LIB+= callouts/6.png
-IMAGES_LIB+= callouts/7.png
-IMAGES_LIB+= callouts/8.png
-IMAGES_LIB+= callouts/9.png
-IMAGES_LIB+= callouts/10.png
-IMAGES_LIB+= callouts/11.png
-IMAGES_LIB+= callouts/12.png
-IMAGES_LIB+= callouts/13.png
-IMAGES_LIB+= callouts/14.png
-IMAGES_LIB+= callouts/15.png
-
-#
-# Η λίστα SRCS περιέχει όλα τα XML αρχεία που αποτελούν μέρη του κειμένου.
-# Αλλαγές σε οποιοδήποτε από αυτά τα αρχεία προκαλούν rebuild.
-#
-
-# XML content
-SRCS+= audit/chapter.xml
-SRCS+= book.xml
-SRCS+= bsdinstall/chapter.xml
-SRCS+= colophon.xml
-SRCS+= dtrace/chapter.xml
-SRCS+= advanced-networking/chapter.xml
-SRCS+= basics/chapter.xml
-SRCS+= bibliography/chapter.xml
-SRCS+= boot/chapter.xml
-SRCS+= config/chapter.xml
-SRCS+= cutting-edge/chapter.xml
-SRCS+= desktop/chapter.xml
-SRCS+= disks/chapter.xml
-SRCS+= eresources/chapter.xml
-SRCS+= firewalls/chapter.xml
-SRCS+= filesystems/chapter.xml
-SRCS+= geom/chapter.xml
-SRCS+= install/chapter.xml
-SRCS+= introduction/chapter.xml
-SRCS+= jails/chapter.xml
-SRCS+= kernelconfig/chapter.xml
-SRCS+= l10n/chapter.xml
-SRCS+= linuxemu/chapter.xml
-SRCS+= mac/chapter.xml
-SRCS+= mail/chapter.xml
-SRCS+= mirrors/chapter.xml
-SRCS+= multimedia/chapter.xml
-SRCS+= network-servers/chapter.xml
-SRCS+= pgpkeys/chapter.xml
-SRCS+= ports/chapter.xml
-SRCS+= ppp-and-slip/chapter.xml
-SRCS+= preface/preface.xml
-SRCS+= printing/chapter.xml
-SRCS+= security/chapter.xml
-SRCS+= serialcomms/chapter.xml
-# Users chapter stays in the Greek Build until merged with basics
-SRCS+= users/chapter.xml
-SRCS+= virtualization/chapter.xml
-SRCS+= x11/chapter.xml
-
-# Entities
-SRCS+= chapters.ent
-
-SYMLINKS= ${DESTDIR} index.html handbook.html
-
-# Turn on all the chapters.
-CHAPTERS?= ${SRCS:M*chapter.xml}
-
-XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
-XMLFLAGS+= -i chap.freebsd-glossary
-
-URL_RELPREFIX?= ../../../..
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-#
-# rules generating lists of mirror site from XML database.
-#
-XMLDOCS= lastmod:::mirrors.lastmod.inc \
- mirrors-ftp-index:::mirrors.xml.ftp.index.inc \
- mirrors-ftp:::mirrors.xml.ftp.inc \
- mirrors-cvsup-index:::mirrors.xml.cvsup.index.inc \
- mirrors-cvsup:::mirrors.xml.cvsup.inc \
- eresources-index:::eresources.xml.www.index.inc \
- eresources:::eresources.xml.www.inc
-DEPENDSET.DEFAULT= transtable mirror
-XSLT.DEFAULT= ${XSL_MIRRORS}
-XML.DEFAULT= ${XML_MIRRORS}
-
-PARAMS.lastmod+= --param 'target' "'lastmod'"
-PARAMS.mirrors-ftp-index+= --param 'type' "'ftp'" \
- --param 'proto' "'ftp'" \
- --param 'target' "'index'"
-PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
- --param 'proto' "'ftp'" \
- --param 'target' "'handbook/mirrors/chapter.xml'"
-PARAMS.mirrors-cvsup-index+= --param 'type' "'cvsup'" \
- --param 'proto' "'cvsup'" \
- --param 'target' "'index'"
-PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
- --param 'proto' "'cvsup'" \
- --param 'target' "'handbook/mirrors/chapter.xml'"
-PARAMS.eresources-index+= --param 'type' "'www'" \
- --param 'proto' "'http'" \
- --param 'target' "'index'"
-PARAMS.eresources+= --param 'type' "'www'" \
- --param 'proto' "'http'" \
- --param 'target' "'handbook/eresources/chapter.xml'"
-
-EXTRAS= mirrors.lastmod.inc \
- mirrors.xml.ftp.inc \
- mirrors.xml.ftp.index.inc \
- mirrors.xml.cvsup.inc \
- mirrors.xml.cvsup.index.inc \
- eresources.xml.www.inc \
- eresources.xml.www.index.inc
-
-XMLDOCS_NO_SRCS=YES
-CLEANFILES+= ${EXTRAS}
-
-_extras: ${EXTRAS}
-mirrors/chapter.xml: ${EXTRAS}
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/el_GR.ISO8859-7/books/handbook/advanced-networking/chapter.xml b/el_GR.ISO8859-7/books/handbook/advanced-networking/chapter.xml
deleted file mode 100644
index 7598176641..0000000000
--- a/el_GR.ISO8859-7/books/handbook/advanced-networking/chapter.xml
+++ /dev/null
@@ -1,4712 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Προχωρημένα Θέματα Δικτύωσης
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
- %SRCID% 1.1
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="advanced-networking">
- <title>Προχωρημένα Θέματα Δικτύωσης</title>
-
- <sect1 xml:id="advanced-networking-synopsis">
- <title>Σύνοψη</title>
-
- <para>Το κεφάλαιο αυτό καλύπτει προχωρημένα θέματα δικτύωσης.</para>
-
- <para>Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:</para>
-
- <itemizedlist>
- <listitem>
- <para>Τα βασικά των πυλών (gateways) και των δρομολογήσεων
- (routes).</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε συσκευές IEEE 802.11 και &bluetooth;.</para>
- </listitem>
-
- <listitem>
- <para>Πως να κάνετε το &os; να δρα ως γέφυρα (bridge).</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε εκκίνηση από το δίκτυο σε ένα μηχάνημα
- χωρίς σκληρό δίσκο.</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε μετάφραση δικτυακών διευθύνσεων (NAT).</para>
- </listitem>
-
- <listitem>
- <para>Πως να συνδέσετε δύο υπολογιστές μέσω PLIP.</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε το IPv6 σε ένα μηχάνημα &os;.</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε το ATM.</para>
- </listitem>
-
- <listitem>
- <para>Πως να ρυθμίσετε και να χρησιμοποιήσετε τις δυνατότητες του
- CARP (Common Access Redundancy Protocol) στο &os;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:</para>
-
- <itemizedlist>
- <listitem>
- <para>Να κατανοείτε τις βασικές έννοιες των αρχείων script
- <filename>/etc/rc</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Να είστε εξοικειωμένος με τη βασική ορολογία των δικτύων.</para>
- </listitem>
-
- <listitem>
- <para>Να γνωρίζετε πως να ρυθμίσετε και να εγκαταστήσετε ένα νέο
- πυρήνα στο &os; (<xref linkend="kernelconfig"/>).</para>
- </listitem>
-
- <listitem>
- <para>Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου
- κατασκευαστή (<xref linkend="ports"/>).</para>
- </listitem>
-
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="network-routing">
- <info><title>Gateways and Routes</title>
- <authorgroup>
- <author><personname><firstname>Coranth</firstname><surname>Gryphon</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>routing</primary></indexterm>
- <indexterm><primary>gateway</primary></indexterm>
- <indexterm><primary>subnet</primary></indexterm>
- <para>For one machine to be able to find another over a network,
- there must be a mechanism in place to describe how to get from
- one to the other. This is called
- <firstterm>routing</firstterm>. A <quote>route</quote> is a
- defined pair of addresses: a <quote>destination</quote> and a
- <quote>gateway</quote>. The pair indicates that if you are
- trying to get to this <emphasis>destination</emphasis>,
- communicate through this <emphasis>gateway</emphasis>. There
- are three types of destinations: individual hosts, subnets, and
- <quote>default</quote>. The <quote>default route</quote> is
- used if none of the other routes apply. We will talk a little
- bit more about default routes later on. There are also three
- types of gateways: individual hosts, interfaces (also called
- <quote>links</quote>), and Ethernet hardware addresses (MAC
- addresses).
- </para>
-
- <sect2>
- <title>An Example</title>
-
- <para>To illustrate different aspects of routing, we will use the
- following example from <command>netstat</command>:</para>
-
- <screen>&prompt.user; <userinput>netstat -r</userinput>
-Routing tables
-
-Destination Gateway Flags Refs Use Netif Expire
-
-default outside-gw UGSc 37 418 ppp0
-localhost localhost UH 0 181 lo0
-test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
-10.20.30.255 link#1 UHLW 1 2421
-example.com link#1 UC 0 0
-host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
-host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =&gt;
-host2.example.com link#1 UC 0 0
-224 link#1 UC 0 0</screen>
-
- <indexterm><primary>default route</primary></indexterm>
- <para>The first two lines specify the default route (which we
- will cover in the <link linkend="network-routing-default">next
- section</link>) and the <systemitem>localhost</systemitem> route.</para>
-
- <indexterm><primary>loopback device</primary></indexterm>
- <para>The interface (<literal>Netif</literal> column) that this
- routing table specifies to use for
- <literal>localhost</literal> is <filename>lo0</filename>,
- also known as the loopback device. This says to keep all
- traffic for this destination internal, rather than sending it
- out over the LAN, since it will only end up back where it
- started.</para>
-
- <indexterm>
- <primary>Ethernet</primary>
- <secondary>MAC address</secondary>
- </indexterm>
- <para>The next thing that stands out are the addresses beginning
- with <systemitem class="etheraddress">0:e0:</systemitem>. These are Ethernet
- hardware addresses, which are also known as MAC addresses.
- FreeBSD will automatically identify any hosts
- (<systemitem>test0</systemitem> in the example) on the local Ethernet
- and add a route for that host, directly to it over the
- Ethernet interface, <filename>ed0</filename>. There is
- also a timeout (<literal>Expire</literal> column) associated
- with this type of route, which is used if we fail to hear from
- the host in a specific amount of time. When this happens, the
- route to this host will be automatically deleted. These hosts
- are identified using a mechanism known as RIP (Routing
- Information Protocol), which figures out routes to local hosts
- based upon a shortest path determination.</para>
-
- <indexterm><primary>subnet</primary></indexterm>
- <para>FreeBSD will also add subnet routes for the local subnet (<systemitem class="ipaddress">10.20.30.255</systemitem> is the broadcast address for the
- subnet <systemitem class="ipaddress">10.20.30</systemitem>, and <systemitem class="fqdomainname">example.com</systemitem> is the domain name associated
- with that subnet). The designation <literal>link#1</literal> refers
- to the first Ethernet card in the machine. You will notice no
- additional interface is specified for those.</para>
-
- <para>Both of these groups (local network hosts and local subnets) have
- their routes automatically configured by a daemon called
- <application>routed</application>. If this is not run, then only
- routes which are statically defined (i.e. entered explicitly) will
- exist.</para>
-
- <para>The <literal>host1</literal> line refers to our host, which it
- knows by Ethernet address. Since we are the sending host, FreeBSD
- knows to use the loopback interface (<filename>lo0</filename>)
- rather than sending it out over the Ethernet interface.</para>
-
- <para>The two <literal>host2</literal> lines are an example of
- what happens when we use an &man.ifconfig.8; alias (see the
- section on Ethernet for reasons why we would do this). The
- <literal>=&gt;</literal> symbol after the
- <filename>lo0</filename> interface says that not only are
- we using the loopback (since this address also refers to the
- local host), but specifically it is an alias. Such routes
- only show up on the host that supports the alias; all other
- hosts on the local network will simply have a
- <literal>link#1</literal> line for such routes.</para>
-
- <para>The final line (destination subnet <systemitem class="ipaddress">224</systemitem>) deals
- with multicasting, which will be covered in another section.</para>
-
- <para>Finally, various attributes of each route can be seen in
- the <literal>Flags</literal> column. Below is a short table
- of some of these flags and their meanings:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="4*"/>
-
- <tbody>
- <row>
- <entry>U</entry>
- <entry>Up: The route is active.</entry>
- </row>
-
- <row>
- <entry>H</entry>
- <entry>Host: The route destination is a single host.</entry>
- </row>
-
- <row>
- <entry>G</entry>
- <entry>Gateway: Send anything for this destination on to this
- remote system, which will figure out from there where to send
- it.</entry>
- </row>
-
- <row>
- <entry>S</entry>
- <entry>Static: This route was configured manually, not
- automatically generated by the system.</entry>
- </row>
-
- <row>
- <entry>C</entry>
- <entry>Clone: Generates a new route based upon this route for
- machines we connect to. This type of route is normally used
- for local networks.</entry>
- </row>
-
- <row>
- <entry>W</entry>
- <entry>WasCloned: Indicated a route that was auto-configured
- based upon a local area network (Clone) route.</entry>
- </row>
-
- <row>
- <entry>L</entry>
- <entry>Link: Route involves references to Ethernet
- hardware.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2 xml:id="network-routing-default">
- <title>Default Routes</title>
-
- <indexterm><primary>default route</primary></indexterm>
- <para>When the local system needs to make a connection to a remote host,
- it checks the routing table to determine if a known path exists. If
- the remote host falls into a subnet that we know how to reach (Cloned
- routes), then the system checks to see if it can connect along that
- interface.</para>
-
- <para>If all known paths fail, the system has one last option: the
- <quote>default</quote> route. This route is a special type of gateway
- route (usually the only one present in the system), and is always
- marked with a <literal>c</literal> in the flags field. For hosts on a
- local area network, this gateway is set to whatever machine has a
- direct connection to the outside world (whether via PPP link,
- DSL, cable modem, T1, or another network interface).</para>
-
- <para>If you are configuring the default route for a machine which
- itself is functioning as the gateway to the outside world, then the
- default route will be the gateway machine at your Internet Service
- Provider's (ISP) site.</para>
-
- <para>Let us look at an example of default routes. This is a common
- configuration:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/net-routing"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
-[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]
- </literallayout>
- </textobject>
- </mediaobject>
-
- <para>The hosts <systemitem>Local1</systemitem> and
- <systemitem>Local2</systemitem> are at your site.
- <systemitem>Local1</systemitem> is connected to an ISP via a dial up
- PPP connection. This PPP server computer is connected through
- a local area network to another gateway computer through an
- external interface to the ISPs Internet feed.</para>
-
- <para>The default routes for each of your machines will be:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Host</entry>
- <entry>Default Gateway</entry>
- <entry>Interface</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Local2</entry>
- <entry>Local1</entry>
- <entry>Ethernet</entry>
- </row>
-
- <row>
- <entry>Local1</entry>
- <entry>T1-GW</entry>
- <entry>PPP</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>A common question is <quote>Why (or how) would we set
- the <systemitem>T1-GW</systemitem> to be the default gateway for
- <systemitem>Local1</systemitem>, rather than the ISP server it is
- connected to?</quote>.</para>
-
- <para>Remember, since the PPP interface is using an address on the ISP's
- local network for your side of the connection, routes for any other
- machines on the ISP's local network will be automatically generated.
- Hence, you will already know how to reach the <systemitem>T1-GW</systemitem>
- machine, so there is no need for the intermediate step
- of sending traffic to the ISP server.</para>
-
- <para>It is common to use the address <systemitem class="ipaddress">X.X.X.1</systemitem> as the gateway address for your local
- network. So (using the same example), if your local class-C address
- space was <systemitem class="ipaddress">10.20.30</systemitem> and your ISP was
- using <systemitem class="ipaddress">10.9.9</systemitem> then the default routes
- would be:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Host</entry>
- <entry>Default Route</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Local2 (10.20.30.2)</entry>
- <entry>Local1 (10.20.30.1)</entry>
- </row>
- <row>
- <entry>Local1 (10.20.30.1, 10.9.9.30)</entry>
- <entry>T1-GW (10.9.9.1)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>You can easily define the default route via the
- <filename>/etc/rc.conf</filename> file. In our example, on the
- <systemitem>Local2</systemitem> machine, we added the following line
- in <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>defaultrouter="10.20.30.1"</programlisting>
-
- <para>It is also possible to do it directly from the command
- line with the &man.route.8; command:</para>
-
- <screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen>
-
- <para>For more information on manual manipulation of network
- routing tables, consult &man.route.8; manual page.</para>
- </sect2>
-
- <sect2>
- <title>Dual Homed Hosts</title>
- <indexterm><primary>dual homed hosts</primary></indexterm>
- <para>There is one other type of configuration that we should cover, and
- that is a host that sits on two different networks. Technically, any
- machine functioning as a gateway (in the example above, using a PPP
- connection) counts as a dual-homed host. But the term is really only
- used to refer to a machine that sits on two local-area
- networks.</para>
-
- <para>In one case, the machine has two Ethernet cards, each
- having an address on the separate subnets. Alternately, the
- machine may only have one Ethernet card, and be using
- &man.ifconfig.8; aliasing. The former is used if two
- physically separate Ethernet networks are in use, the latter
- if there is one physical network segment, but two logically
- separate subnets.</para>
-
- <para>Either way, routing tables are set up so that each subnet knows
- that this machine is the defined gateway (inbound route) to the other
- subnet. This configuration, with the machine acting as a router
- between the two subnets, is often used when we need to implement
- packet filtering or firewall security in either or both
- directions.</para>
-
- <para>If you want this machine to actually forward packets
- between the two interfaces, you need to tell FreeBSD to enable
- this ability. See the next section for more details on how
- to do this.</para>
- </sect2>
-
- <sect2 xml:id="network-dedicated-router">
- <title>Building a Router</title>
-
- <indexterm><primary>router</primary></indexterm>
-
- <para>A network router is simply a system that forwards packets
- from one interface to another. Internet standards and good
- engineering practice prevent the FreeBSD Project from enabling
- this by default in FreeBSD. You can enable this feature by
- changing the following variable to <literal>YES</literal> in
- &man.rc.conf.5;:</para>
-
- <programlisting>gateway_enable=YES # Set to YES if this host will be a gateway</programlisting>
-
- <para>This option will set the &man.sysctl.8; variable
- <varname>net.inet.ip.forwarding</varname> to
- <literal>1</literal>. If you should need to stop routing
- temporarily, you can reset this to <literal>0</literal> temporarily.</para>
-
- <para>Your new router will need routes to know where to send the
- traffic. If your network is simple enough you can use static
- routes. FreeBSD also comes with the standard BSD routing
- daemon &man.routed.8;, which speaks RIP (both version 1 and
- version 2) and IRDP. Support for BGP v4, OSPF v2, and other
- sophisticated routing protocols is available with the
- <package>net/zebra</package> package.
- Commercial products such as <application>&gated;</application> are also available for more
- complex network routing solutions.</para>
-
-<indexterm><primary>BGP</primary></indexterm>
-<indexterm><primary>RIP</primary></indexterm>
-<indexterm><primary>OSPF</primary></indexterm>
- </sect2>
-
- <sect2>
- <info><title>Setting Up Static Routes</title>
- <authorgroup>
- <author><personname><firstname>Al</firstname><surname>Hoang</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
- <!-- Feb 2004 -->
-
-
- <sect3>
- <title>Manual Configuration</title>
-
- <para>Let us assume we have a network as follows:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/static-routes"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">
- INTERNET
- | (10.0.0.1/24) Default Router to Internet
- |
- |Interface xl0
- |10.0.0.10/24
- +------+
- | | RouterA
- | | (FreeBSD gateway)
- +------+
- | Interface xl1
- | 192.168.1.1/24
- |
- +--------------------------------+
- Internal Net 1 | 192.168.1.2/24
- |
- +------+
- | | RouterB
- | |
- +------+
- | 192.168.2.1/24
- |
- Internal Net 2
- </literallayout>
- </textobject>
- </mediaobject>
-
- <para>In this scenario, <systemitem>RouterA</systemitem> is our &os;
- machine that is acting as a router to the rest of the
- Internet. It has a default route set to <systemitem class="ipaddress">10.0.0.1</systemitem> which allows it to connect
- with the outside world. We will assume that
- <systemitem>RouterB</systemitem> is already configured properly and
- knows how to get wherever it needs to go. (This is simple
- in this picture. Just add a default route on
- <systemitem>RouterB</systemitem> using <systemitem class="ipaddress">192.168.1.1</systemitem> as the gateway.)</para>
-
- <para>If we look at the routing table for
- <systemitem>RouterA</systemitem> we would see something like the
- following:</para>
-
- <screen>&prompt.user; <userinput>netstat -nr</userinput>
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-default 10.0.0.1 UGS 0 49378 xl0
-127.0.0.1 127.0.0.1 UH 0 6 lo0
-10.0.0/24 link#1 UC 0 0 xl0
-192.168.1/24 link#2 UC 0 0 xl1</screen>
-
- <para>With the current routing table <systemitem>RouterA</systemitem>
- will not be able to reach our Internal Net 2. It does not
- have a route for <systemitem class="ipaddress">192.168.2.0/24</systemitem>. One way to alleviate
- this is to manually add the route. The following command
- would add the Internal Net 2 network to
- <systemitem>RouterA</systemitem>'s routing table using <systemitem class="ipaddress">192.168.1.2</systemitem> as the next hop:</para>
-
- <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
-
- <para>Now <systemitem>RouterA</systemitem> can reach any hosts on the
- <systemitem class="ipaddress">192.168.2.0/24</systemitem>
- network.</para>
- </sect3>
-
- <sect3>
- <title>Persistent Configuration</title>
-
- <para>The above example is perfect for configuring a static
- route on a running system. However, one problem is that the
- routing information will not persist if you reboot your &os;
- machine. The way to handle the addition of a static route
- is to put it in your <filename>/etc/rc.conf</filename>
- file:</para>
-
- <programlisting># Add Internal Net 2 as a static route
-static_routes="internalnet2"
-route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting>
-
- <para>The <literal>static_routes</literal> configuration
- variable is a list of strings separated by a space. Each
- string references to a route name. In our above example we
- only have one string in <literal>static_routes</literal>.
- This string is <replaceable>internalnet2</replaceable>. We
- then add a configuration variable called
- <literal>route_internalnet2</literal>
- where we put all of the configuration parameters we would
- give to the &man.route.8; command. For our example above we
- would have used the command:</para>
-
- <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
-
- <para>so we need <literal>"-net 192.168.2.0/24 192.168.1.2"</literal>.</para>
-
- <para>As said above, we can have more than one string in
- <literal>static_routes</literal>. This allows us to
- create multiple static routes. The following lines shows
- an example of adding static routes for the <systemitem class="ipaddress">192.168.0.0/24</systemitem> and <systemitem class="ipaddress">192.168.1.0/24</systemitem> networks on an imaginary
- router:</para>
-
- <programlisting>static_routes="net1 net2"
-route_net1="-net 192.168.0.0/24 192.168.0.1"
-route_net2="-net 192.168.1.0/24 192.168.1.1"</programlisting>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Routing Propagation</title>
- <indexterm><primary>routing propagation</primary></indexterm>
- <para>We have already talked about how we define our routes to the
- outside world, but not about how the outside world finds us.</para>
-
- <para>We already know that routing tables can be set up so that all
- traffic for a particular address space (in our examples, a class-C
- subnet) can be sent to a particular host on that network, which will
- forward the packets inbound.</para>
-
- <para>When you get an address space assigned to your site, your service
- provider will set up their routing tables so that all traffic for your
- subnet will be sent down your PPP link to your site. But how do sites
- across the country know to send to your ISP?</para>
-
- <para>There is a system (much like the distributed DNS information) that
- keeps track of all assigned address-spaces, and defines their point of
- connection to the Internet Backbone. The <quote>Backbone</quote> are
- the main trunk lines that carry Internet traffic across the country,
- and around the world. Each backbone machine has a copy of a master
- set of tables, which direct traffic for a particular network to a
- specific backbone carrier, and from there down the chain of service
- providers until it reaches your network.</para>
-
- <para>It is the task of your service provider to advertise to the
- backbone sites that they are the point of connection (and thus the
- path inward) for your site. This is known as route
- propagation.</para>
- </sect2>
-
- <sect2>
- <title>Troubleshooting</title>
- <indexterm>
- <primary><command>traceroute</command></primary>
- </indexterm>
- <para>Sometimes, there is a problem with routing propagation, and some
- sites are unable to connect to you. Perhaps the most useful command
- for trying to figure out where routing is breaking down is the
- &man.traceroute.8; command. It is equally useful if you cannot seem
- to make a connection to a remote machine (i.e. &man.ping.8;
- fails).</para>
-
- <para>The &man.traceroute.8; command is run with the name of the remote
- host you are trying to connect to. It will show the gateway hosts
- along the path of the attempt, eventually either reaching the target
- host, or terminating because of a lack of connection.</para>
-
- <para>For more information, see the manual page for
- &man.traceroute.8;.</para>
- </sect2>
-
- <sect2>
- <title>Multicast Routing</title>
- <indexterm>
- <primary>multicast routing</primary>
- </indexterm>
- <indexterm>
- <primary>kernel options</primary>
- <secondary>MROUTING</secondary>
- </indexterm>
- <para>FreeBSD supports both multicast applications and multicast
- routing natively. Multicast applications do not require any
- special configuration of FreeBSD; applications will generally
- run out of the box. Multicast routing
- requires that support be compiled into the kernel:</para>
-
- <programlisting>options MROUTING</programlisting>
-
- <para>In addition, the multicast routing daemon, &man.mrouted.8;
- must be configured to set up tunnels and <acronym>DVMRP</acronym> via
- <filename>/etc/mrouted.conf</filename>. More details on
- multicast configuration may be found in the manual page for
- &man.mrouted.8;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-wireless">
- <info><title>Wireless Networking</title>
- <authorgroup>
- <author><personname><othername>Loader</othername></personname></author>
-
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname></author>
-
- <author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>wireless networking</primary></indexterm>
- <indexterm>
- <primary>802.11</primary>
- <see>wireless networking</see>
- </indexterm>
-
- <sect2>
- <title>Wireless Networking Basics</title>
-
- <para>Most wireless networks are based on the IEEE 802.11
- standards. A basic wireless network consists of multiple
- stations communicating with radios that broadcast in either
- the 2.4GHz or 5GHz band (though this varies according to the
- locale and is also changing to enable communication in the
- 2.3GHz and 4.9GHz ranges).</para>
-
- <para>802.11 networks are organized in two ways: in
- <emphasis>infrastructure mode</emphasis> one station acts as a
- master with all the other stations associating to it; the
- network is known as a BSS and the master station is termed an
- access point (AP). In a BSS all communication passes through
- the AP; even when one station wants to communicate with
- another wireless station messages must go through the AP. In
- the second form of network there is no master and stations
- communicate directly. This form of network is termed an IBSS
- and is commonly known as an <emphasis>ad-hoc
- network</emphasis>.</para>
-
- <para>802.11 networks were first deployed in the 2.4GHz band
- using protocols defined by the IEEE 802.11 and 802.11b
- standard. These specifications include the operating
- frequencies, MAC layer characteristics including framing and
- transmission rates (communication can be done at various
- rates). Later the 802.11a standard defined operation in the
- 5GHz band, including different signalling mechanisms and
- higher transmission rates. Still later the 802.11g standard
- was defined to enable use of 802.11a signalling and
- transmission mechanisms in the 2.4GHz band in such a way as to
- be backwards compatible with 802.11b networks.</para>
-
- <para>Separate from the underlying transmission techniques
- 802.11 networks have a variety of security mechanisms. The
- original 802.11 specifications defined a simple security
- protocol called WEP. This protocol uses a fixed pre-shared key
- and the RC4 cryptographic cipher to encode data transmitted on
- a network. Stations must all agree on the fixed key in order
- to communicate. This scheme was shown to be easily broken and
- is now rarely used except to discourage transient users from
- joining networks. Current security practice is given by the
- IEEE 802.11i specification that defines new cryptographic
- ciphers and an additional protocol to authenticate stations to
- an access point and exchange keys for doing data
- communication. Further, cryptographic keys are periodically
- refreshed and there are mechanisms for detecting intrusion
- attempts (and for countering intrusion attempts). Another
- security protocol specification commonly used in wireless
- networks is termed WPA. This was a precursor to 802.11i
- defined by an industry group as an interim measure while
- waiting for 802.11i to be ratified. WPA specifies a subset of
- the requirements found in 802.11i and is designed for
- implementation on legacy hardware. Specifically WPA requires
- only the TKIP cipher that is derived from the original WEP
- cipher. 802.11i permits use of TKIP but also requires support
- for a stronger cipher, AES-CCM, for encrypting data. (The AES
- cipher was not required in WPA because it was deemed too
- computationally costly to be implemented on legacy
- hardware.)</para>
-
- <para>Other than the above protocol standards the other
- important standard to be aware of is 802.11e. This defines
- protocols for deploying multi-media applications such as
- streaming video and voice over IP (VoIP) in an 802.11 network.
- Like 802.11i, 802.11e also has a precursor specification
- termed WME (later renamed WMM) that has been defined by an
- industry group as a subset of 802.11e that can be deployed now
- to enable multi-media applications while waiting for the final
- ratification of 802.11e. The most important thing to know
- about 802.11e and WME/WMM is that it enables prioritized
- traffic use of a wireless network through Quality of Service
- (QoS) protocols and enhanced media access protocols. Proper
- implementation of these protocols enable high speed bursting
- of data and prioritized traffic flow.</para>
-
- <para>Since the 6.0 version, &os; supports networks that operate
- using 802.11a, 802.11b, and 802.11g. The WPA and 802.11i
- security protocols are likewise supported (in conjunction with
- any of 11a, 11b, and 11g) and QoS and traffic prioritization
- required by the WME/WMM protocols are supported for a limited
- set of wireless devices.</para>
- </sect2>
-
- <sect2 xml:id="network-wireless-basic">
- <title>Basic Setup</title>
-
- <sect3>
- <title>Kernel Configuration</title>
-
- <para>To use wireless networking you need a wireless
- networking card and to configure the kernel with the
- appropriate wireless networking support. The latter is
- separated into multiple modules so that you only need to
- configure the software you are actually going to use.</para>
-
- <para>The first thing you need is a wireless device. The most
- commonly used devices are those that use parts made by
- Atheros. These devices are supported by the &man.ath.4;
- driver and require the following line to be added to the
- <filename>/boot/loader.conf</filename> file:</para>
-
- <programlisting>if_ath_load="YES"</programlisting>
-
- <para>The Atheros driver is split up into three separate
- pieces: the driver proper (&man.ath.4;), the hardware
- support layer that handles chip-specific functions
- (&man.ath.hal.4;), and an algorithm for selecting which of
- several possible rates for transmitting frames
- (ath_rate_sample here). When you load this support as
- modules these dependencies are automatically handled for
- you. If instead of an Atheros device you had another device
- you would select the module for that device; e.g.:</para>
-
- <programlisting>if_wi_load="YES"</programlisting>
-
- <para>for devices based on the Intersil Prism parts
- (&man.wi.4; driver).</para>
-
- <note>
- <para>In the rest of this document, we will use an
- &man.ath.4; device, the device name in the examples must
- be changed according to your configuration. A list of
- available wireless drivers can be found at the beginning
- of the &man.wlan.4; manual page. If a native &os; driver
- for your wireless device does not exist, it may be
- possible to directly use the &windows; driver with the
- help of the <link linkend="config-network-ndis">NDIS</link> driver
- wrapper.</para>
- </note>
-
- <para>With a device driver configured you need to also bring
- in the 802.11 networking support required by the driver.
- For the &man.ath.4; driver this is at least the &man.wlan.4;
- module; this module is automatically loaded with the
- wireless device driver. With that you will need the modules
- that implement cryptographic support for the security
- protocols you intend to use. These are intended to be
- dynamically loaded on demand by the &man.wlan.4; module but
- for now they must be manually configured. The following
- modules are available: &man.wlan.wep.4;, &man.wlan.ccmp.4;
- and &man.wlan.tkip.4;. Both &man.wlan.ccmp.4; and
- &man.wlan.tkip.4; drivers are only needed if you intend to
- use the WPA and/or 802.11i security protocols. If your
- network is to run totally open (i.e., with no encryption)
- then you do not even need the &man.wlan.wep.4; support. To
- load these modules at boot time, add the following lines to
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>wlan_wep_load="YES"
-wlan_ccmp_load="YES"
-wlan_tkip_load="YES"</programlisting>
-
- <para>With this information in the system bootstrap
- configuration file (i.e.,
- <filename>/boot/loader.conf</filename>), you have to reboot
- your &os; box. If you do not want to reboot your machine
- for the moment, you can just load the modules by hand using
- &man.kldload.8;.</para>
-
- <note>
- <para>If you do not want to use modules, it is possible to
- compile these drivers into the kernel by adding the
- following lines to your kernel configuration file:</para>
-
- <programlisting>device ath # Atheros IEEE 802.11 wireless network driver
-device ath_hal # Atheros Hardware Access Layer
-device ath_rate_sample # John Bicket's SampleRate control algorithm.
-device wlan # 802.11 support (Required)
-device wlan_wep # WEP crypto support for 802.11 devices
-device wlan_ccmp # AES-CCMP crypto support for 802.11 devices
-device wlan_tkip # TKIP and Michael crypto support for 802.11 devices</programlisting>
-
- <para>With this information in the kernel configuration
- file, recompile the kernel and reboot your &os;
- machine.</para>
- </note>
-
- <para>When the system is up, we could find some information
- about the wireless device in the boot messages, like
- this:</para>
-
- <screen>ath0: &lt;Atheros 5212&gt; mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
-ath0: Ethernet address: 00:11:95:d5:43:62
-ath0: mac 7.9 phy 4.5 radio 5.6</screen>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Infrastructure Mode</title>
-
- <para>The infrastructure mode or BSS mode is the mode that is
- typically used. In this mode, a number of wireless access
- points are connected to a wired network. Each wireless
- network has its own name, this name is called the SSID of the
- network. Wireless clients connect to the wireless access
- points.</para>
-
- <sect3>
- <title>&os; Clients</title>
-
- <sect4>
- <title>How to Find Access Points</title>
-
- <para>To scan for networks, use the
- <command>ifconfig</command> command. This request may
- take a few moments to complete as it requires that the
- system switches to each available wireless frequency and
- probes for available access points. Only the super-user
- can initiate such a scan:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 up scan</userinput>
-SSID BSSID CHAN RATE S:N INT CAPS
-dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME
-freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA</screen>
-
- <note>
- <para>You must mark the interface <option>up</option>
- before you can scan. Subsequent scan requests do not
- require you to mark the interface up again.</para>
- </note>
-
- <para>The output of a scan request lists each BSS/IBSS
- network found. Beside the name of the network,
- <literal>SSID</literal>, we find the
- <literal>BSSID</literal> which is the MAC address of the
- access point. The <literal>CAPS</literal> field
- identifies the type of each network and the capabilities
- of the stations operating there:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>E</literal></term>
-
- <listitem>
- <para>Extended Service Set (ESS). Indicates that the
- station is part of an infrastructure network (in
- contrast to an IBSS/ad-hoc network).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>I</literal></term>
-
- <listitem>
- <para>IBSS/ad-hoc network. Indicates that the station
- is part of an ad-hoc network (in contrast to an ESS
- network).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>P</literal></term>
-
- <listitem>
- <para>Privacy. Data confidentiality is required for
- all data frames exchanged within the BSS. This means
- that this BSS requires the station to use
- cryptographic means such as WEP, TKIP or AES-CCMP to
- encrypt/decrypt data frames being exchanged with
- others.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>S</literal></term>
-
- <listitem>
- <para>Short Preamble. Indicates that the network is
- using short preambles (defined in 802.11b High
- Rate/DSSS PHY, short preamble utilizes a 56 bit sync
- field in contrast to a 128 bit field used in long
- preamble mode).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>s</literal></term>
-
- <listitem>
- <para>Short slot time. Indicates that the 802.11g
- network is using a short slot time because there are
- no legacy (802.11b) stations present.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>One can also display the current list of known
- networks with:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 list scan</userinput></screen>
-
- <para>This information may be updated automatically by the
- adapter or manually with a <option>scan</option> request.
- Old data is automatically removed from the cache, so over
- time this list may shrink unless more scans are
- done.</para>
- </sect4>
-
- <sect4>
- <title>Basic Settings</title>
-
- <para>This section provides a simple example of how to make
- the wireless network adapter work in &os; without
- encryption. After you are familiar with these concepts,
- we strongly recommend using <link linkend="network-wireless-wpa">WPA</link> to set up your
- wireless network.</para>
-
- <para>There are three basic steps to configure a wireless
- network: selecting an access point, authenticating your
- station, and configuring an IP address. The following
- sections discuss each step.</para>
-
- <sect5>
- <title>Selecting an Access Point</title>
-
- <para>Most of time it is sufficient to let the system
- choose an access point using the builtin heuristics.
- This is the default behaviour when you mark an interface
- up or otherwise configure an interface by listing it in
- <filename>/etc/rc.conf</filename>, e.g.:</para>
-
- <programlisting>ifconfig_ath0="DHCP"</programlisting>
-
- <para>If there are multiple access points and you want to
- select a specific one, you can select it by its
- SSID:</para>
-
- <programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
-
- <para>In an environment where there are multiple access
- points with the same SSID (often done to simplify
- roaming) it may be necessary to associate to one
- specific device. In this case you can also specify the
- BSSID of the access point (you can also leave off the
- SSID):</para>
-
- <programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> bssid <replaceable>xx:xx:xx:xx:xx:xx</replaceable> DHCP"</programlisting>
-
- <para>There are other ways to constrain the choice of an
- access point such as limiting the set of frequencies the
- system will scan on. This may be useful if you have a
- multi-band wireless card as scanning all the possible
- channels can be time-consuming. To limit operation to a
- specific band you can use the <option>mode</option>
- parameter; e.g.:</para>
-
- <programlisting>ifconfig_ath0="mode <replaceable>11g</replaceable> ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
-
- <para>will force the card to operate in 802.11g which is
- defined only for 2.4GHz frequencies so any 5GHz channels
- will not be considered. Other ways to do this are the
- <option>channel</option> parameter, to lock operation to
- one specific frequency, and the
- <option>chanlist</option> parameter, to specify a list
- of channels for scanning. More information about these
- parameters can be found in the &man.ifconfig.8; manual
- page.</para>
- </sect5>
-
- <sect5>
- <title>Authentication</title>
-
- <para>Once you have selected an access point your station
- needs to authenticate before it can pass data.
- Authentication can happen in several ways. The most
- common scheme used is termed open authentication and
- allows any station to join the network and communicate.
- This is the authentication you should use for test
- purpose the first time you set up a wireless network.
- Other schemes require cryptographic handshakes be
- completed before data traffic can flow; either using
- pre-shared keys or secrets, or more complex schemes that
- involve backend services such as RADIUS. Most users
- will use open authentication which is the default
- setting. Next most common setup is WPA-PSK, also known
- as WPA Personal, which is described <link linkend="network-wireless-wpa-wpa-psk">below</link>.</para>
-
- <note>
- <para>If you have an &apple; &airport; Extreme base
- station for an access point you may need to configure
- shared-key authentication together with a WEP key.
- This can be done in the
- <filename>/etc/rc.conf</filename> file or using the
- &man.wpa.supplicant.8; program. If you have a single
- &airport; base station you can setup access with
- something like:</para>
-
- <programlisting>ifconfig_ath0="authmode shared wepmode on weptxkey <replaceable>1</replaceable> wepkey <replaceable>01234567</replaceable> DHCP"</programlisting>
-
- <para>In general shared key authentication is to be
- avoided because it uses the WEP key material in a
- highly-constrained manner making it even easier to
- crack the key. If WEP must be used (e.g., for
- compatibility with legacy devices) it is better to use
- WEP with <literal>open</literal> authentication. More
- information regarding WEP can be found in the <xref linkend="network-wireless-wep"/>.</para>
- </note>
- </sect5>
-
- <sect5>
- <title>Getting an IP Address with DHCP</title>
-
- <para>Once you have selected an access point and set the
- authentication parameters, you will have to get an IP
- address to communicate. Most of time you will obtain
- your wireless IP address via DHCP. To achieve that,
- simply edit <filename>/etc/rc.conf</filename> and add
- <literal>DHCP</literal> to the configuration for your
- device as shown in various examples above:</para>
-
- <programlisting>ifconfig_ath0="DHCP"</programlisting>
-
- <para>At this point, you are ready to bring up the
- wireless interface:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput></screen>
-
- <para>Once the interface is running, use
- <command>ifconfig</command> to see the status of the
- interface <filename>ath0</filename>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0</userinput>
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
- status: associated
- ssid dlinkap channel 6 bssid 00:13:46:49:41:76
- authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen>
-
- <para>The <literal>status: associated</literal> means you
- are connected to the wireless network (to the
- <literal>dlinkap</literal> network in our case). The
- <literal>bssid 00:13:46:49:41:76</literal> part is the
- MAC address of your access point; the
- <literal>authmode</literal> line informs you that the
- communication is not encrypted
- (<literal>OPEN</literal>).</para>
- </sect5>
-
- <sect5>
- <title>Static IP Address</title>
-
- <para>In the case you cannot obtain an IP address from a
- DHCP server, you can set a fixed IP address. Replace
- the <literal>DHCP</literal> keyword shown above with the
- address information. Be sure to retain any other
- parameters you have set up for selecting an access
- point:</para>
-
- <programlisting>ifconfig_ath0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>your_ssid_here</replaceable>"</programlisting>
- </sect5>
- </sect4>
-
- <sect4 xml:id="network-wireless-wpa">
- <title>WPA</title>
-
- <para>WPA (Wi-Fi Protected Access) is a security protocol
- used together with 802.11 networks to address the lack of
- proper authentication and the weakness of <link linkend="network-wireless-wep">WEP</link>. WPA leverages
- the 802.1X authentication protocol and uses one of several
- ciphers instead of WEP for data integrity. The only
- cipher required by WPA is TKIP (Temporary Key Integrity
- Protocol) which is a cipher that extends the basic RC4
- cipher used by WEP by adding integrity checking, tamper
- detection, and measures for responding to any detected
- intrusions. TKIP is designed to work on legacy hardware
- with only software modification; it represents a
- compromise that improves security but is still not
- entirely immune to attack. WPA also specifies the
- AES-CCMP cipher as an alternative to TKIP and that is
- preferred when possible; for this specification the term
- WPA2 (or RSN) is commonly used.</para>
-
- <para>WPA defines authentication and encryption protocols.
- Authentication is most commonly done using one of two
- techniques: by 802.1X and a backend authentication service
- such as RADIUS, or by a minimal handshake between the
- station and the access point using a pre-shared secret.
- The former is commonly termed WPA Enterprise with the
- latter known as WPA Personal. Since most people will not
- set up a RADIUS backend server for wireless network,
- WPA-PSK is by far the most commonly encountered
- configuration for WPA.</para>
-
- <para>The control of the wireless connection and the
- authentication (key negotiation or authentication with a
- server) is done with the &man.wpa.supplicant.8; utility.
- This program requires a configuration file,
- <filename>/etc/wpa_supplicant.conf</filename>, to run.
- More information regarding this file can be found in the
- &man.wpa.supplicant.conf.5; manual page.</para>
-
- <sect5 xml:id="network-wireless-wpa-wpa-psk">
- <title>WPA-PSK</title>
-
- <para>WPA-PSK also known as WPA-Personal is based on a
- pre-shared key (PSK) generated from a given password and
- that will be used as the master key in the wireless
- network. This means every wireless user will share the
- same key. WPA-PSK is intended for small networks where
- the use of an authentication server is not possible or
- desired.</para>
-
- <warning>
- <para>Always use strong passwords that are
- sufficiently long and made from a rich alphabet so
- they will not be guessed and/or attacked.</para>
- </warning>
-
- <para>The first step is the configuration of the
- <filename>/etc/wpa_supplicant.conf</filename> file with
- the SSID and the pre-shared key of your network:</para>
-
- <programlisting>network={
- ssid="freebsdap"
- psk="freebsdmall"
-}</programlisting>
-
- <para>Then, in <filename>/etc/rc.conf</filename>, we
- indicate that the wireless device configuration will be
- done with WPA and the IP address will be obtained with
- DHCP:</para>
-
- <programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
-
- <para>Then, we can bring up the interface:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
-Starting wpa_supplicant.
-DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
-DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
-DHCPOFFER from 192.168.0.1
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPACK from 192.168.0.1
-bound to 192.168.0.254 -- renewal in 300 seconds.
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
- protmode CTS roaming MANUAL bintval 100</screen>
-
- <para>Or you can try to configure it manually using the
- same <filename>/etc/wpa_supplicant.conf</filename> <link linkend="network-wireless-wpa-wpa-psk">above</link>, and
- run:</para>
-
- <screen>&prompt.root; <userinput>wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf</userinput>
-Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
-Associated with 00:11:95:c3:0d:ac
-WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]</screen>
-
- <para>The next operation is the launch of the
- <command>dhclient</command> command to get the IP
- address from the DHCP server:</para>
-
- <screen>&prompt.root; <userinput>dhclient ath0</userinput>
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPACK from 192.168.0.1
-bound to 192.168.0.254 -- renewal in 300 seconds.
-&prompt.root; <userinput>ifconfig ath0</userinput>
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
- protmode CTS roaming MANUAL bintval 100</screen>
-
- <note>
- <para>If the <filename>/etc/rc.conf</filename> is set up
- with the line <literal>ifconfig_ath0="DHCP"</literal>
- then it is no need to run the
- <command>dhclient</command> command manually,
- <command>dhclient</command> will be launched after
- <command>wpa_supplicant</command> plumbs the
- keys.</para>
- </note>
-
- <para>In the case where the use of DHCP is not possible,
- you can set a static IP address after
- <command>wpa_supplicant</command> has authenticated the
- station:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0</userinput>
-&prompt.root; <userinput>ifconfig ath0</userinput>
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
- protmode CTS roaming MANUAL bintval 100</screen>
-
- <para>When DHCP is not used, you also have to manually set
- up the default gateway and the nameserver:</para>
-
- <screen>&prompt.root; <userinput>route add default your_default_router</userinput>
-&prompt.root; <userinput>echo "nameserver your_DNS_server" &gt;&gt; /etc/resolv.conf</userinput></screen>
- </sect5>
-
- <sect5 xml:id="network-wireless-wpa-eap-tls">
- <title>WPA with EAP-TLS</title>
-
- <para>The second way to use WPA is with an 802.1X backend
- authentication server, in this case WPA is called
- WPA-Enterprise to make difference with the less secure
- WPA-Personal with its pre-shared key. The
- authentication in WPA-Enterprise is based on EAP
- (Extensible Authentication Protocol).</para>
-
- <para>EAP does not come with an encryption method, it was
- decided to embed EAP inside an encrypted tunnel. Many
- types of EAP authentication methods have been designed,
- the most common methods are EAP-TLS, EAP-TTLS and
- EAP-PEAP.</para>
-
- <para>EAP-TLS (EAP with Transport Layer Security) is a
- very well-supported authentication protocol in the
- wireless world since it was the first EAP method to be
- certified by the <link xlink:href="http://www.wi-fi.org/">Wi-Fi alliance</link>.
- EAP-TLS will require three certificates to run: the CA
- certificate (installed on all machines), the server
- certificate for your authentication server, and one
- client certificate for each wireless client. In this
- EAP method, both authentication server and wireless
- client authenticate each other in presenting their
- respective certificates, and they verify that these
- certificates were signed by your organization's
- certificate authority (CA).</para>
-
- <para>As previously, the configuration is done via
- <filename>/etc/wpa_supplicant.conf</filename>:</para>
-
- <programlisting>network={
- ssid="freebsdap" <co xml:id="co-tls-ssid"/>
- proto=RSN <co xml:id="co-tls-proto"/>
- key_mgmt=WPA-EAP <co xml:id="co-tls-kmgmt"/>
- eap=TLS <co xml:id="co-tls-eap"/>
- identity="loader" <co xml:id="co-tls-id"/>
- ca_cert="/etc/certs/cacert.pem" <co xml:id="co-tls-cacert"/>
- client_cert="/etc/certs/clientcert.pem" <co xml:id="co-tls-clientcert"/>
- private_key="/etc/certs/clientkey.pem" <co xml:id="co-tls-pkey"/>
- private_key_passwd="freebsdmallclient" <co xml:id="co-tls-pwd"/>
-}</programlisting>
-
- <calloutlist>
- <callout arearefs="co-tls-ssid">
- <para>This field indicates the network name
- (SSID).</para>
- </callout>
-
- <callout arearefs="co-tls-proto">
- <para>Here, we use RSN (IEEE 802.11i) protocol, i.e.,
- WPA2.</para>
- </callout>
-
- <callout arearefs="co-tls-kmgmt">
- <para>The <literal>key_mgmt</literal> line refers to
- the key management protocol we use. In our case it
- is WPA using EAP authentication:
- <literal>WPA-EAP</literal>.</para>
- </callout>
-
- <callout arearefs="co-tls-eap">
- <para>In this field, we mention the EAP method for our
- connection.</para>
- </callout>
-
- <callout arearefs="co-tls-id">
- <para>The <literal>identity</literal> field contains
- the identity string for EAP.</para>
- </callout>
-
- <callout arearefs="co-tls-cacert">
- <para>The <literal>ca_cert</literal> field indicates
- the pathname of the CA certificate file. This file
- is needed to verify the server certificat.</para>
- </callout>
-
- <callout arearefs="co-tls-clientcert">
- <para>The <literal>client_cert</literal> line gives
- the pathname to the client certificate file. This
- certificate is unique to each wireless client of the
- network.</para>
- </callout>
-
- <callout arearefs="co-tls-pkey">
- <para>The <literal>private_key</literal> field is the
- pathname to the client certificate private key
- file.</para>
- </callout>
-
- <callout arearefs="co-tls-pwd">
- <para>The <literal>private_key_passwd</literal> field
- contains the passphrase for the private key.</para>
- </callout>
- </calloutlist>
-
- <para>Then add the following line to
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
-
- <para>The next step is to bring up the interface with the
- help of the <filename>rc.d</filename> facility:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
-Starting wpa_supplicant.
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPACK from 192.168.0.20
-bound to 192.168.0.254 -- renewal in 300 seconds.
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
- txpowmax 36 protmode CTS roaming MANUAL bintval 100</screen>
-
- <para>As previously shown, it is also possible to bring up
- the interface manually with both
- <command>wpa_supplicant</command> and
- <command>ifconfig</command> commands.</para>
- </sect5>
-
- <sect5 xml:id="network-wireless-wpa-eap-ttls">
- <title>WPA with EAP-TTLS</title>
-
- <para>With EAP-TLS both the authentication server and the
- client need a certificate, with EAP-TTLS (EAP-Tunneled
- Transport Layer Security) a client certificate is
- optional. This method is close to what some secure web
- sites do , where the web server can create a secure SSL
- tunnel even if the visitors do not have client-side
- certificates. EAP-TTLS will use the encrypted TLS
- tunnel for safe transport of the authentication
- data.</para>
-
- <para>The configuration is done via the
- <filename>/etc/wpa_supplicant.conf</filename>
- file:</para>
-
- <programlisting>network={
- ssid="freebsdap"
- proto=RSN
- key_mgmt=WPA-EAP
- eap=TTLS <co xml:id="co-ttls-eap"/>
- identity="test" <co xml:id="co-ttls-id"/>
- password="test" <co xml:id="co-ttls-passwd"/>
- ca_cert="/etc/certs/cacert.pem" <co xml:id="co-ttls-cacert"/>
- phase2="auth=MD5" <co xml:id="co-ttls-pha2"/>
-}</programlisting>
-
- <calloutlist>
- <callout arearefs="co-ttls-eap">
- <para>In this field, we mention the EAP method for our
- connection.</para>
- </callout>
-
- <callout arearefs="co-ttls-id">
- <para>The <literal>identity</literal> field contains
- the identity string for EAP authentication inside
- the encrypted TLS tunnel.</para>
- </callout>
-
- <callout arearefs="co-ttls-passwd">
- <para>The <literal>password</literal> field contains
- the passphrase for the EAP authentication.</para>
- </callout>
-
- <callout arearefs="co-ttls-cacert">
- <para>The <literal>ca_cert</literal> field indicates
- the pathname of the CA certificate file. This file
- is needed to verify the server certificat.</para>
- </callout>
-
- <callout arearefs="co-ttls-pha2">
- <para>In this field, we mention the authentication
- method used in the encrypted TLS tunnel. In our
- case, EAP with MD5-Challenge has been used. The
- <quote>inner authentication</quote> phase is often
- called <quote>phase2</quote>.</para>
- </callout>
- </calloutlist>
-
- <para>You also have to add the following line to
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
-
- <para>The next step is to bring up the interface:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
-Starting wpa_supplicant.
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPACK from 192.168.0.20
-bound to 192.168.0.254 -- renewal in 300 seconds.
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
- txpowmax 36 protmode CTS roaming MANUAL bintval 100</screen>
- </sect5>
-
- <sect5 xml:id="network-wireless-wpa-eap-peap">
- <title>WPA with EAP-PEAP</title>
-
- <para>PEAP (Protected EAP) has been designed as an
- alternative to EAP-TTLS. There are two types of PEAP
- methods, the most common one is PEAPv0/EAP-MSCHAPv2. In
- the rest of this document, we will use the PEAP term to
- refer to that EAP method. PEAP is the most used EAP
- standard after EAP-TLS, in other words if you have a
- network with mixed OSes, PEAP should be the most
- supported standard after EAP-TLS.</para>
-
- <para>PEAP is similar to EAP-TTLS: it uses a server-side
- certificate to authenticate clients by creating an
- encrypted TLS tunnel between the client and the
- authentication server, which protects the ensuing
- exchange of authentication information. In term of
- security the difference between EAP-TTLS and PEAP is
- that PEAP authentication broadcasts the username in
- clear, only the password is sent in the encrypted TLS
- tunnel. EAP-TTLS will use the TLS tunnel for both
- username and password.</para>
-
- <para>We have to edit the
- <filename>/etc/wpa_supplicant.conf</filename> file and
- add the EAP-PEAP related settings:</para>
-
- <programlisting>network={
- ssid="freebsdap"
- proto=RSN
- key_mgmt=WPA-EAP
- eap=PEAP <co xml:id="co-peap-eap"/>
- identity="test" <co xml:id="co-peap-id"/>
- password="test" <co xml:id="co-peap-passwd"/>
- ca_cert="/etc/certs/cacert.pem" <co xml:id="co-peap-cacert"/>
- phase1="peaplabel=0" <co xml:id="co-peap-pha1"/>
- phase2="auth=MSCHAPV2" <co xml:id="co-peap-pha2"/>
-}</programlisting>
-
- <calloutlist>
- <callout arearefs="co-peap-eap">
- <para>In this field, we mention the EAP method for our
- connection.</para>
- </callout>
-
- <callout arearefs="co-peap-id">
- <para>The <literal>identity</literal> field contains
- the identity string for EAP authentication inside
- the encrypted TLS tunnel.</para>
- </callout>
-
- <callout arearefs="co-peap-passwd">
- <para>The <literal>password</literal> field contains
- the passphrase for the EAP authentication.</para>
- </callout>
-
- <callout arearefs="co-peap-cacert">
- <para>The <literal>ca_cert</literal> field indicates
- the pathname of the CA certificate file. This file
- is needed to verify the server certificat.</para>
- </callout>
-
- <callout arearefs="co-peap-pha1">
- <para>This field contains the parameters for the
- first phase of the authentication (the TLS
- tunnel). According to the authentication server
- used, you will have to specify a specific label
- for the authentication. Most of time, the label
- will be <quote>client EAP encryption</quote> which
- is set by using <literal>peaplabel=0</literal>.
- More information can be found in the
- &man.wpa.supplicant.conf.5; manual page.</para>
- </callout>
-
- <callout arearefs="co-peap-pha2">
- <para>In this field, we mention the authentication
- protocol used in the encrypted TLS tunnel. In the
- case of PEAP, it is
- <literal>auth=MSCHAPV2</literal>.</para>
- </callout>
- </calloutlist>
-
- <para>The following must be added to
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
-
- <para>Then, we can bring up the interface:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
-Starting wpa_supplicant.
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPREQUEST on ath0 to 255.255.255.255 port 67
-DHCPACK from 192.168.0.20
-bound to 192.168.0.254 -- renewal in 300 seconds.
-ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
- status: associated
- ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
- authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
- txpowmax 36 protmode CTS roaming MANUAL bintval 100</screen>
- </sect5>
- </sect4>
-
- <sect4 xml:id="network-wireless-wep">
- <title>WEP</title>
-
- <para>WEP (Wired Equivalent Privacy) is part of the original
- 802.11 standard. There is no authentication mechanism,
- only a weak form of access control, and it is easily to be
- cracked.</para>
-
- <para>WEP can be set up with
- <command>ifconfig</command>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \
- wepmode on weptxkey 3 wepkey 3:0x3456789012</userinput></screen>
-
- <itemizedlist>
- <listitem>
- <para>The <literal>weptxkey</literal> means which WEP
- key will be used in the transmission. Here we used the
- third key. This must match the setting in the access
- point.</para>
- </listitem>
-
- <listitem>
- <para>The <literal>wepkey</literal> means setting the
- selected WEP key. It should in the format
- <replaceable>index:key</replaceable>, if the index is
- not given, key <literal>1</literal> is set. That is
- to say we need to set the index if we use keys other
- than the first key.</para>
-
- <note>
- <para>You must replace
- the <literal>0x3456789012</literal> with the key
- configured for use on the access point.</para>
- </note>
- </listitem>
- </itemizedlist>
-
- <para>You are encouraged to read &man.ifconfig.8; manual
- page for further information.</para>
-
- <para>The <command>wpa_supplicant</command> facility also
- can be used to configure your wireless interface with WEP.
- The example above can be set up by adding the following
- lines to
- <filename>/etc/wpa_supplicant.conf</filename>:</para>
-
- <programlisting>network={
- ssid="my_net"
- key_mgmt=NONE
- wep_key3=3456789012
- wep_tx_keyidx=3
-}</programlisting>
-
- <para>Then:</para>
-
- <screen>&prompt.root; <userinput>wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf</userinput>
-Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
-Associated with 00:13:46:49:41:76</screen>
- </sect4>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ad-hoc Mode</title>
-
- <para>IBSS mode, also called ad-hoc mode, is designed for point
- to point connections. For example, to establish an ad-hoc
- network between the machine <systemitem>A</systemitem> and the machine
- <systemitem>B</systemitem> we will just need to choose two IP adresses
- and a SSID.</para>
-
- <para>On the box <systemitem>A</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc</userinput>
-&prompt.root; <userinput>ifconfig ath0</userinput>
- ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
- inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
- ether 00:11:95:c3:0d:ac
- media: IEEE 802.11 Wireless Ethernet autoselect &lt;adhoc&gt; (autoselect &lt;adhoc&gt;)
- status: associated
- ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
- authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen>
-
- <para>The <literal>adhoc</literal> parameter indicates the
- interface is running in the IBSS mode.</para>
-
- <para>On <systemitem>B</systemitem>, we should be able to detect
- <systemitem>A</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 up scan</userinput>
- SSID BSSID CHAN RATE S:N INT CAPS
- freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS</screen>
-
- <para>The <literal>I</literal> in the output confirms the
- machine <systemitem>A</systemitem> is in ad-hoc mode. We just have to
- configure <systemitem>B</systemitem> with a different IP
- address:</para>
-
- <screen>&prompt.root; <userinput>ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc</userinput>
-&prompt.root; <userinput>ifconfig ath0</userinput>
- ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
- inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
- ether 00:11:95:d5:43:62
- media: IEEE 802.11 Wireless Ethernet autoselect &lt;adhoc&gt; (autoselect &lt;adhoc&gt;)
- status: associated
- ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
- authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen>
-
- <para>Both <systemitem>A</systemitem> and <systemitem>B</systemitem> are now
- ready to exchange informations.</para>
- </sect2>
-
- <sect2>
- <title>Troubleshooting</title>
-
- <para>If you are having trouble with wireless networking, there
- are a number of steps you can take to help troubleshoot the
- problem.</para>
-
- <itemizedlist>
- <listitem>
- <para>If you do not see the access point listed when
- scanning be sure you have not configured your wireless
- device to a limited set of channels.</para>
- </listitem>
-
- <listitem>
- <para>If you cannot associate to an access point verify the
- configuration of your station matches the one of the
- access point. This includes the authentication scheme and
- any security protocols. Simplify your configuration as
- much as possible. If you are using a security protocol
- such as WPA or WEP configure the access point for open
- authentication and no security to see if you can get
- traffic to pass.</para>
- </listitem>
-
- <listitem>
- <para>Once you can associate to the access point diagnose
- any security configuration using simple tools like
- &man.ping.8;.</para>
-
- <para>The <command>wpa_supplicant</command> has much
- debugging support; try running it manually with the
- <option>-dd</option> option and look at the system
- logs.</para>
- </listitem>
-
- <listitem>
- <para>There are also many lower-level debugging tools. You
- can enable debugging messages in the 802.11 protocol
- support layer using the <command>wlandebug</command>
- program found in
- <filename>/usr/src/tools/tools/net80211</filename>. For
- example:</para>
-
- <screen>&prompt.root; <userinput>wlandebug -i ath0 +scan+auth+debug+assoc</userinput>
- net.wlan.0.debug: 0 =&gt; 0xc80000&lt;assoc,auth,scan&gt;</screen>
-
- <para>can be used to enable console messages related to
- scanning for access points and doing the 802.11 protocol
- handshakes required to arrange communication.</para>
-
- <para>There are also many useful statistics maintained by
- the 802.11 layer; the <command>wlanstats</command> tool
- will dump these informations. These statistics should
- identify all errors identified by the 802.11 layer.
- Beware however that some errors are identified in the
- device drivers that lie below the 802.11 layer so they may
- not show up. To diagnose device-specific problems you
- need to refer to the drivers' documentation.</para>
- </listitem>
- </itemizedlist>
-
- <para>If the above information does not help to clarify the
- problem, please submit a problem report and include output
- from the above tools.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-bluetooth">
- <info><title>Bluetooth</title>
- <authorgroup>
- <author><personname><firstname>Pav</firstname><surname>Lucistnik</surname></personname><contrib>Written by </contrib><affiliation>
- <address><email>pav@FreeBSD.org</email></address>
- </affiliation></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>Bluetooth</primary></indexterm>
- <sect2>
- <title>Introduction</title>
- <para>Bluetooth is a wireless technology for creating personal networks
- operating in the 2.4 GHz unlicensed band, with a range of 10 meters.
- Networks are usually formed ad-hoc from portable devices such as
- cellular phones, handhelds and laptops. Unlike the other popular
- wireless technology, Wi-Fi, Bluetooth offers higher level service
- profiles, e.g. FTP-like file servers, file pushing, voice transport,
- serial line emulation, and more.</para>
-
- <para>The Bluetooth stack in &os; is implemented using the Netgraph
- framework (see &man.netgraph.4;). A broad variety of Bluetooth USB
- dongles is supported by the &man.ng.ubt.4; driver. The Broadcom BCM2033
- chip based Bluetooth devices are supported via the &man.ubtbcmfw.4; and
- &man.ng.ubt.4; drivers. The 3Com Bluetooth PC Card 3CRWB60-A is
- supported by the &man.ng.bt3c.4; driver. Serial and UART based
- Bluetooth devices are supported via &man.sio.4;, &man.ng.h4.4;
- and &man.hcseriald.8;. This section describes the use of the USB
- Bluetooth dongle.</para>
- </sect2>
-
- <sect2>
- <title>Plugging in the Device</title>
- <para>By default Bluetooth device drivers are available as kernel modules.
- Before attaching a device, you will need to load the driver into the
- kernel:</para>
-
- <screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen>
-
- <para>If the Bluetooth device is present in the system during system
- startup, load the module from
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>ng_ubt_load="YES"</programlisting>
-
- <para>Plug in your USB dongle. The output similar to the following will
- appear on the console (or in syslog):</para>
-
- <screen>ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
-ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
-ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
- wMaxPacketSize=49, nframes=6, buffer size=294</screen>
-
- <note>
- <para>The Bluetooth stack has to be started manually on &os; 6.0, and
- on &os; 5.X before 5.5. It is done automatically from &man.devd.8;
- on &os; 5.5, 6.1 and newer.</para>
-
- <para>Copy
- <filename>/usr/share/examples/netgraph/bluetooth/rc.bluetooth</filename>
- into some convenient place, like <filename>/etc/rc.bluetooth</filename>.
- This script is used to start and stop the Bluetooth stack. It is a good
- idea to stop the stack before unplugging the device, but it is not
- (usually) fatal. When starting the stack, you will receive output similar
- to the following:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.bluetooth start ubt0</userinput>
-BD_ADDR: 00:02:72:00:d4:1a
-Features: 0xff 0xff 0xf 00 00 00 00 00
-&lt;3-Slot&gt; &lt;5-Slot&gt; &lt;Encryption&gt; &lt;Slot offset&gt;
-&lt;Timing accuracy&gt; &lt;Switch&gt; &lt;Hold mode&gt; &lt;Sniff mode&gt;
-&lt;Park mode&gt; &lt;RSSI&gt; &lt;Channel quality&gt; &lt;SCO link&gt;
-&lt;HV2 packets&gt; &lt;HV3 packets&gt; &lt;u-law log&gt; &lt;A-law log&gt; &lt;CVSD&gt;
-&lt;Paging scheme&gt; &lt;Power control&gt; &lt;Transparent SCO data&gt;
-Max. ACL packet size: 192 bytes
-Number of ACL packets: 8
-Max. SCO packet size: 64 bytes
-Number of SCO packets: 8</screen>
- </note>
-
- </sect2>
-
- <sect2>
- <title>Host Controller Interface (HCI)</title>
-
- <indexterm><primary>HCI</primary></indexterm>
-
- <para>Host Controller Interface (HCI) provides a command interface to the
- baseband controller and link manager, and access to hardware status and
- control registers. This interface provides a uniform method of accessing
- the Bluetooth baseband capabilities. HCI layer on the Host exchanges
- data and commands with the HCI firmware on the Bluetooth hardware.
- The Host Controller Transport Layer (i.e. physical bus) driver provides
- both HCI layers with the ability to exchange information with each
- other.</para>
-
- <para>A single Netgraph node of type <emphasis>hci</emphasis> is
- created for a single Bluetooth device. The HCI node is normally
- connected to the Bluetooth device driver node (downstream) and
- the L2CAP node (upstream). All HCI operations must be performed
- on the HCI node and not on the device driver node. Default name
- for the HCI node is <quote>devicehci</quote>.
- For more details refer to the &man.ng.hci.4; manual page.</para>
-
- <para>One of the most common tasks is discovery of Bluetooth devices in
- RF proximity. This operation is called <emphasis>inquiry</emphasis>.
- Inquiry and other HCI related operations are done with the
- &man.hccontrol.8; utility. The example below shows how to find out
- which Bluetooth devices are in range. You should receive the list of
- devices in a few seconds. Note that a remote device will only answer
- the inquiry if it put into <emphasis>discoverable</emphasis>
- mode.</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput>
-Inquiry result, num_responses=1
-Inquiry result #0
- BD_ADDR: 00:80:37:29:19:a4
- Page Scan Rep. Mode: 0x1
- Page Scan Period Mode: 00
- Page Scan Mode: 00
- Class: 52:02:04
- Clock offset: 0x78ef
-Inquiry complete. Status: No error [00]</screen>
-
- <para><literal>BD_ADDR</literal> is unique address of a Bluetooth
- device, similar to MAC addresses of a network card. This address
- is needed for further communication with a device. It is possible
- to assign human readable name to a BD_ADDR.
- The <filename>/etc/bluetooth/hosts</filename> file contains information
- regarding the known Bluetooth hosts. The following example shows how
- to obtain human readable name that was assigned to the remote
- device:</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput>
-BD_ADDR: 00:80:37:29:19:a4
-Name: Pav's T39</screen>
-
- <para>If you perform an inquiry on a remote Bluetooth device, it will
- find your computer as <quote>your.host.name (ubt0)</quote>. The name
- assigned to the local device can be changed at any time.</para>
-
- <para>The Bluetooth system provides a point-to-point connection (only two
- Bluetooth units involved), or a point-to-multipoint connection. In the
- point-to-multipoint connection the connection is shared among several
- Bluetooth devices. The following example shows how to obtain the list
- of active baseband connections for the local device:</para>
-
- <screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput>
-Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
-00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN</screen>
-
- <para>A <emphasis>connection handle</emphasis> is useful when termination
- of the baseband connection is required. Note, that it is normally not
- required to do it by hand. The stack will automatically terminate
- inactive baseband connections.</para>
-
- <screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput>
-Connection handle: 41
-Reason: Connection terminated by local host [0x16]</screen>
-
- <para>Refer to <command>hccontrol help</command> for a complete listing
- of available HCI commands. Most of the HCI commands do not require
- superuser privileges.</para>
-
- </sect2>
-
- <sect2>
- <title>Logical Link Control and Adaptation Protocol (L2CAP)</title>
-
- <indexterm><primary>L2CAP</primary></indexterm>
-
- <para>Logical Link Control and Adaptation Protocol (L2CAP) provides
- connection-oriented and connectionless data services to upper layer
- protocols with protocol multiplexing capability and segmentation and
- reassembly operation. L2CAP permits higher level protocols and
- applications to transmit and receive L2CAP data packets up to 64
- kilobytes in length.</para>
-
- <para>L2CAP is based around the concept of <emphasis>channels</emphasis>.
- Channel is a logical connection on top of baseband connection. Each
- channel is bound to a single protocol in a many-to-one fashion. Multiple
- channels can be bound to the same protocol, but a channel cannot be
- bound to multiple protocols. Each L2CAP packet received on a channel is
- directed to the appropriate higher level protocol. Multiple channels
- can share the same baseband connection.</para>
-
- <para>A single Netgraph node of type <emphasis>l2cap</emphasis> is
- created for a single Bluetooth device. The L2CAP node is normally
- connected to the Bluetooth HCI node (downstream) and Bluetooth sockets
- nodes (upstream). Default name for the L2CAP node is
- <quote>devicel2cap</quote>. For more details refer to the
- &man.ng.l2cap.4; manual page.</para>
-
- <para>A useful command is &man.l2ping.8;, which can be used to ping
- other devices. Some Bluetooth implementations might not return all of
- the data sent to them, so <literal>0 bytes</literal> in the following
- example is normal.</para>
-
- <screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput>
-0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
-0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0</screen>
-
- <para>The &man.l2control.8; utility is used to perform various operations
- on L2CAP nodes. This example shows how to obtain the list of logical
- connections (channels) and the list of baseband connections for the
- local device:</para>
-
- <screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput>
-L2CAP channels:
-Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
-00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
-&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput>
-L2CAP connections:
-Remote BD_ADDR Handle Flags Pending State
-00:07:e0:00:0b:ca 41 O 0 OPEN</screen>
-
- <para>Another diagnostic tool is &man.btsockstat.1;. It does a job
- similar to as &man.netstat.1; does, but for Bluetooth network-related
- data structures. The example below shows the same logical connection as
- &man.l2control.8; above.</para>
-
- <screen>&prompt.user; <userinput>btsockstat</userinput>
-Active L2CAP sockets
-PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
-c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
-Active RFCOMM sessions
-L2PCB PCB Flag MTU Out-Q DLCs State
-c2afe900 c2b53380 1 127 0 Yes OPEN
-Active RFCOMM sockets
-PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
-c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN</screen>
-
- </sect2>
-
- <sect2>
- <title>RFCOMM Protocol</title>
-
- <indexterm><primary>RFCOMM</primary></indexterm>
-
- <para>The RFCOMM protocol provides emulation of serial ports over the
- L2CAP protocol. The protocol is based on the ETSI standard TS 07.10.
- RFCOMM is a simple transport protocol, with additional provisions for
- emulating the 9 circuits of RS-232 (EIATIA-232-E) serial ports. The
- RFCOMM protocol supports up to 60 simultaneous connections (RFCOMM
- channels) between two Bluetooth devices.</para>
-
- <para>For the purposes of RFCOMM, a complete communication path involves
- two applications running on different devices (the communication
- endpoints) with a communication segment between them. RFCOMM is intended
- to cover applications that make use of the serial ports of the devices
- in which they reside. The communication segment is a Bluetooth link from
- one device to another (direct connect).</para>
-
- <para>RFCOMM is only concerned with the connection between the devices in
- the direct connect case, or between the device and a modem in the
- network case. RFCOMM can support other configurations, such as modules
- that communicate via Bluetooth wireless technology on one side and
- provide a wired interface on the other side.</para>
-
- <para>In &os; the RFCOMM protocol is implemented at the Bluetooth sockets
- layer.</para>
- </sect2>
-
- <sect2>
- <title>Pairing of Devices</title>
-
- <indexterm><primary>pairing</primary></indexterm>
-
- <para>By default, Bluetooth communication is not authenticated, and any
- device can talk to any other device. A Bluetooth device (for example,
- cellular phone) may choose to require authentication to provide a
- particular service (for example, Dial-Up service). Bluetooth
- authentication is normally done with <emphasis>PIN codes</emphasis>.
- A PIN code is an ASCII string up to 16 characters in length. User is
- required to enter the same PIN code on both devices. Once user has
- entered the PIN code, both devices will generate a
- <emphasis>link key</emphasis>. After that the link key can be stored
- either in the devices themselves or in a persistent storage. Next time
- both devices will use previously generated link key. The described
- above procedure is called <emphasis>pairing</emphasis>. Note that if
- the link key is lost by any device then pairing must be repeated.</para>
-
- <para>The &man.hcsecd.8; daemon is responsible for handling of all
- Bluetooth authentication requests. The default configuration file is
- <filename>/etc/bluetooth/hcsecd.conf</filename>. An example section for
- a cellular phone with the PIN code arbitrarily set to
- <quote>1234</quote> is shown below:</para>
-
- <programlisting>device {
- bdaddr 00:80:37:29:19:a4;
- name "Pav's T39";
- key nokey;
- pin "1234";
- }</programlisting>
-
- <para>There is no limitation on PIN codes (except length). Some devices
- (for example Bluetooth headsets) may have a fixed PIN code built in.
- The <option>-d</option> switch forces the &man.hcsecd.8; daemon to stay
- in the foreground, so it is easy to see what is happening. Set the
- remote device to receive pairing and initiate the Bluetooth connection
- to the remote device. The remote device should say that pairing was
- accepted, and request the PIN code. Enter the same PIN code as you
- have in <filename>hcsecd.conf</filename>. Now your PC and the remote
- device are paired. Alternatively, you can initiate pairing on the remote
- device.</para>
-
- <para>On &os; 5.5, 6.1 and newer, the following line can be added to the
- <filename>/etc/rc.conf</filename> file to have
- <application>hcsecd</application> started automatically on system
- start:</para>
-
- <programlisting>hcsecd_enable="YES"</programlisting>
-
- <para>The following is a sample of the
- <application>hcsecd</application> daemon output:</para>
-
-<programlisting>hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
-hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
-hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
-hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Service Discovery Protocol (SDP)</title>
-
- <indexterm><primary>SDP</primary></indexterm>
-
- <para>The Service Discovery Protocol (SDP) provides the means for client
- applications to discover the existence of services provided by server
- applications as well as the attributes of those services. The attributes
- of a service include the type or class of service offered and the
- mechanism or protocol information needed to utilize the service.</para>
-
- <para>SDP involves communication between a SDP server and a SDP client.
- The server maintains a list of service records that describe the
- characteristics of services associated with the server. Each service
- record contains information about a single service. A client may
- retrieve information from a service record maintained by the SDP server
- by issuing a SDP request. If the client, or an application associated
- with the client, decides to use a service, it must open a separate
- connection to the service provider in order to utilize the service.
- SDP provides a mechanism for discovering services and their attributes,
- but it does not provide a mechanism for utilizing those services.</para>
-
- <para>Normally, a SDP client searches for services based on some desired
- characteristics of the services. However, there are times when it is
- desirable to discover which types of services are described by an SDP
- server's service records without any a priori information about the
- services. This process of looking for any offered services is called
- <emphasis>browsing</emphasis>.</para>
-
- <para>The Bluetooth SDP server &man.sdpd.8; and command line client
- &man.sdpcontrol.8; are included in the standard &os; installation.
- The following example shows how to perform a SDP browse query.</para>
-
- <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput>
-Record Handle: 00000000
-Service Class ID List:
- Service Discovery Server (0x1000)
-Protocol Descriptor List:
- L2CAP (0x0100)
- Protocol specific parameter #1: u/int/uuid16 1
- Protocol specific parameter #2: u/int/uuid16 1
-
-Record Handle: 0x00000001
-Service Class ID List:
- Browse Group Descriptor (0x1001)
-
-Record Handle: 0x00000002
-Service Class ID List:
- LAN Access Using PPP (0x1102)
-Protocol Descriptor List:
- L2CAP (0x0100)
- RFCOMM (0x0003)
- Protocol specific parameter #1: u/int8/bool 1
-Bluetooth Profile Descriptor List:
- LAN Access Using PPP (0x1102) ver. 1.0
-</screen>
-
- <para>... and so on. Note that each service has a list of attributes
- (RFCOMM channel for example). Depending on the service you might need to
- make a note of some of the attributes. Some Bluetooth implementations do
- not support service browsing and may return an empty list. In this case
- it is possible to search for the specific service. The example below
- shows how to search for the OBEX Object Push (OPUSH) service:</para>
-
- <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen>
-
- <para>Offering services on &os; to Bluetooth clients is done with the
- &man.sdpd.8; server. On &os; 5.5, 6.1 and newer, the following line can
- be added to the <filename>/etc/rc.conf</filename> file:</para>
-
- <programlisting>sdpd_enable="YES"</programlisting>
-
- <para>Then the <application>sdpd</application> daemon can be started with:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sdpd start</userinput></screen>
-
- <para>On &os; 6.0, and on &os; 5.X before 5.5,
- <application>sdpd</application> is not integrated into the system
- startup scripts. It has to be started manually with:</para>
-
- <screen>&prompt.root; <userinput>sdpd</userinput></screen>
-
- <para>The local server application that wants to provide Bluetooth
- service to the remote clients will register service with the local
- SDP daemon. The example of such application is &man.rfcomm.pppd.8;.
- Once started it will register Bluetooth LAN service with the local
- SDP daemon.</para>
-
- <para>The list of services registered with the local SDP server can be
- obtained by issuing SDP browse query via local control channel:</para>
-
- <screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Dial-Up Networking (DUN) and Network Access with PPP (LAN)
- Profiles</title>
-
- <para>The Dial-Up Networking (DUN) profile is mostly used with modems
- and cellular phones. The scenarios covered by this profile are the
- following:</para>
-
- <itemizedlist>
- <listitem><para>use of a cellular phone or modem by a computer as
- a wireless modem for connecting to a dial-up Internet access server,
- or using other dial-up services;</para></listitem>
-
- <listitem><para>use of a cellular phone or modem by a computer to
- receive data calls.</para></listitem>
- </itemizedlist>
-
- <para>Network Access with PPP (LAN) profile can be used in the following
- situations:</para>
-
- <itemizedlist>
- <listitem><para>LAN access for a single Bluetooth device;
- </para></listitem>
-
- <listitem><para>LAN access for multiple Bluetooth devices;
- </para></listitem>
-
- <listitem><para>PC to PC (using PPP networking over serial cable
- emulation).</para></listitem>
- </itemizedlist>
-
- <para>In &os; both profiles are implemented with &man.ppp.8; and
- &man.rfcomm.pppd.8; - a wrapper that converts RFCOMM Bluetooth
- connection into something PPP can operate with. Before any profile
- can be used, a new PPP label in the <filename>/etc/ppp/ppp.conf</filename>
- must be created. Consult &man.rfcomm.pppd.8; manual page for examples.
- </para>
-
- <para>In the following example &man.rfcomm.pppd.8; will be used to open
- RFCOMM connection to remote device with BD_ADDR 00:80:37:29:19:a4 on
- DUN RFCOMM channel. The actual RFCOMM channel number will be obtained
- from the remote device via SDP. It is possible to specify RFCOMM channel
- by hand, and in this case &man.rfcomm.pppd.8; will not perform SDP
- query. Use &man.sdpcontrol.8; to find out RFCOMM
- channel on the remote device.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
-
- <para>In order to provide Network Access with PPP (LAN) service the
- &man.sdpd.8; server must be running. A new entry for LAN clients must
- be created in the <filename>/etc/ppp/ppp.conf</filename> file. Consult
- &man.rfcomm.pppd.8; manual page for examples. Finally, start RFCOMM PPP
- server on valid RFCOMM channel number. The RFCOMM PPP server will
- automatically register Bluetooth LAN service with the local SDP daemon.
- The example below shows how to start RFCOMM PPP server.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>OBEX Object Push (OPUSH) Profile</title>
-
- <indexterm><primary>OBEX</primary></indexterm>
-
- <para>OBEX is a widely used protocol for simple file transfers between
- mobile devices. Its main use is in infrared communication, where it is
- used for generic file transfers between notebooks or PDAs,
- and for sending business cards or calendar entries between cellular
- phones and other devices with PIM applications.</para>
-
- <para>The OBEX server and client are implemented as a third-party package
- <application>obexapp</application>, which is available as
- <package>comms/obexapp</package> port.</para>
-
- <para>OBEX client is used to push and/or pull objects from the OBEX server.
- An object can, for example, be a business card or an appointment.
- The OBEX client can obtain RFCOMM channel number from the remote device
- via SDP. This can be done by specifying service name instead of RFCOMM
- channel number. Supported service names are: IrMC, FTRN and OPUSH.
- It is possible to specify RFCOMM channel as a number. Below is an
- example of an OBEX session, where device information object is pulled
- from the cellular phone, and a new object (business card) is pushed
- into the phone's directory.</para>
-
- <screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput>
-obex&gt; get telecom/devinfo.txt devinfo-t39.txt
-Success, response: OK, Success (0x20)
-obex&gt; put new.vcf
-Success, response: OK, Success (0x20)
-obex&gt; di
-Success, response: OK, Success (0x20)</screen>
-
- <para>In order to provide OBEX Object Push service,
- &man.sdpd.8; server must be running. A root folder, where all incoming
- objects will be stored, must be created. The default path to the root
- folder is <filename>/var/spool/obex</filename>. Finally, start OBEX
- server on valid RFCOMM channel number. The OBEX server will
- automatically register OBEX Object Push service with the local SDP
- daemon. The example below shows how to start OBEX server.</para>
-
- <screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Serial Port Profile (SPP)</title>
- <para>The Serial Port Profile (SPP) allows Bluetooth devices to perform
- RS232 (or similar) serial cable emulation. The scenario covered by this
- profile deals with legacy applications using Bluetooth as a cable
- replacement, through a virtual serial port abstraction.</para>
-
- <para>The &man.rfcomm.sppd.1; utility implements the Serial Port profile.
- A pseudo tty is used as a virtual serial port abstraction. The example
- below shows how to connect to a remote device Serial Port service.
- Note that you do not have to specify a RFCOMM channel -
- &man.rfcomm.sppd.1; can obtain it from the remote device via SDP.
- If you would like to override this, specify a RFCOMM channel on the
- command line.</para>
-
- <screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput>
-rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen>
-
- <para>Once connected, the pseudo tty can be used as serial port:</para>
-
- <screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen>
-
- </sect2>
-
- <sect2>
- <title>Troubleshooting</title>
-
- <sect3>
- <title>A remote device cannot connect</title>
- <para>Some older Bluetooth devices do not support role switching.
- By default, when &os; is accepting a new connection, it tries to
- perform a role switch and become master. Devices, which do not
- support this will not be able to connect. Note that role switching is
- performed when a new connection is being established, so it is not
- possible to ask the remote device if it does support role switching.
- There is a HCI option to disable role switching on the local
- side:</para>
-
- <screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen>
-
- </sect3>
-
- <sect3>
- <title>Something is going wrong, can I see what exactly is happening?</title>
- <para>Yes, you can. Use the third-party package
- <application>hcidump</application>, which is available as
- <package>comms/hcidump</package> port.
- The <application>hcidump</application> utility is similar to
- &man.tcpdump.1;. It can be used to display the content of the Bluetooth
- packets on the terminal and to dump the Bluetooth packets to a
- file.</para>
- </sect3>
-
- </sect2>
-
- </sect1>
-
- <sect1 xml:id="network-bridging">
- <info><title>Bridging</title>
- <authorgroup>
- <author><personname><firstname>Steve</firstname><surname>Peterson</surname></personname><contrib>Written by </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2>
- <title>Introduction</title>
- <indexterm><primary>IP subnet</primary></indexterm>
- <indexterm><primary>bridge</primary></indexterm>
- <para>It is sometimes useful to divide one physical network
- (such as an Ethernet segment) into two separate network
- segments without having to create IP subnets and use a router
- to connect the segments together. A device that connects two
- networks together in this fashion is called a
- <quote>bridge</quote>. A FreeBSD system with two network
- interface cards can act as a bridge.</para>
-
- <para>The bridge works by learning the MAC layer addresses
- (Ethernet addresses) of the devices on each of its network interfaces.
- It forwards traffic between two networks only when its source and
- destination are on different networks.</para>
-
- <para>In many respects, a bridge is like an Ethernet switch with very
- few ports.</para>
- </sect2>
-
- <sect2>
- <title>Situations Where Bridging Is Appropriate</title>
-
- <para>There are two common situations in which a bridge is used
- today.</para>
-
- <sect3>
- <title>High Traffic on a Segment</title>
-
- <para>Situation one is where your physical network segment is
- overloaded with traffic, but you do not want for whatever reason to
- subnet the network and interconnect the subnets with a
- router.</para>
-
- <para>Let us consider an example of a newspaper where the Editorial and
- Production departments are on the same subnetwork. The Editorial
- users all use server <systemitem>A</systemitem> for file service, and the Production users
- are on server <systemitem>B</systemitem>. An Ethernet network is used to connect all users together,
- and high loads on the network are slowing things down.</para>
-
- <para>If the Editorial users could be segregated on one
- network segment and the Production users on another, the two
- network segments could be connected with a bridge. Only the
- network traffic destined for interfaces on the
- <quote>other</quote> side of the bridge would be sent to the
- other network, reducing congestion on each network
- segment.</para>
- </sect3>
-
- <sect3>
- <title>Filtering/Traffic Shaping Firewall</title>
- <indexterm><primary>firewall</primary></indexterm>
- <indexterm><primary>NAT</primary></indexterm>
-
- <para>The second common situation is where firewall functionality is
- needed without network address translation (NAT).</para>
-
- <para>An example is a small company that is connected via DSL
- or ISDN to their ISP. They have a 13 globally-accessible IP
- addresses from their ISP and have 10 PCs on their network.
- In this situation, using a router-based firewall is
- difficult because of subnetting issues.</para>
-
- <indexterm><primary>router</primary></indexterm>
- <indexterm><primary>DSL</primary></indexterm>
- <indexterm><primary>ISDN</primary></indexterm>
- <para>A bridge-based firewall can be configured and dropped into the
- path just downstream of their DSL/ISDN router without any IP
- numbering issues.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Configuring a Bridge</title>
-
- <sect3>
- <title>Network Interface Card Selection</title>
-
- <para>A bridge requires at least two network cards to function.
- Unfortunately, not all network interface cards
- support bridging. Read &man.bridge.4; for details on the cards that
- are supported.</para>
-
- <para>Install and test the two network cards before continuing.</para>
- </sect3>
-
- <sect3>
- <title>Kernel Configuration Changes</title>
- <indexterm>
- <primary>kernel options</primary>
- <secondary>BRIDGE</secondary>
- </indexterm>
-
- <para>To enable kernel support for bridging, add the:</para>
-
- <programlisting>options BRIDGE</programlisting>
-
- <para>statement to your kernel configuration file, and rebuild your
- kernel.</para>
- </sect3>
-
- <sect3>
- <title>Firewall Support</title>
- <indexterm><primary>firewall</primary></indexterm>
- <para>If you are planning to use the bridge as a firewall, you
- will need to add the <literal>IPFIREWALL</literal> option as
- well. Read <xref linkend="firewalls"/> for general
- information on configuring the bridge as a firewall.</para>
-
- <para>If you need to allow non-IP packets (such as ARP) to flow
- through the bridge, there are three options available.
- The first is to add the following option to the kernel and
- rebuild:</para>
-
- <programlisting>option IPFIREWALL_DEFAULT_TO_ACCEPT</programlisting>
-
- <para>The second is to set the firewall type to <quote><literal>open</literal></quote> in the
- <filename>rc.conf</filename> file:</para>
-
- <programlisting>firewall_type="open"</programlisting>
-
- <para>Note that these options will make the firewall seem completely
- transparent; any packet or connection will be permitted by default.
- This may require significant changes to the firewall ruleset.</para>
-
- <para>The third option is to apply the following &man.ipfw.8;
- rule:</para>
-
- <screen>&prompt.root; <userinput>ipfw add allow mac-type arp layer2</userinput></screen>
-
- <para>Or add it to the current firewall ruleset. This rule effectively
- allows &man.arp.8; packets through, so it must be be applied near the
- beginning of the ruleset for early evaluation.</para>
- </sect3>
-
- <sect3>
- <title>Traffic Shaping Support</title>
-
- <para>If you want to use the bridge as a traffic shaper, you will need
- to add the <literal>DUMMYNET</literal> option to your kernel
- configuration. Read &man.dummynet.4; for further
- information.</para>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Enabling the Bridge</title>
-
- <para>Add the line:</para>
-
- <programlisting>net.link.ether.bridge.enable=1</programlisting>
-
- <para>to <filename>/etc/sysctl.conf</filename> to enable the bridge at
- runtime, and the line:</para>
-
- <programlisting>net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting>
-
- <para>to enable bridging on the specified interfaces (replace
- <replaceable>if1</replaceable> and
- <replaceable>if2</replaceable> with the names of your two
- network interfaces). If you want the bridged packets to be
- filtered by &man.ipfw.8;, you should add:</para>
-
- <programlisting>net.link.ether.bridge.ipfw=1</programlisting>
-
- <para>as well.</para>
-
- <para>For versions prior to &os;&nbsp;5.2-RELEASE, use instead the following
- lines:</para>
-
- <programlisting>net.link.ether.bridge=1
-net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable>
-net.link.ether.bridge_ipfw=1</programlisting>
-
- </sect2>
-
- <sect2>
- <title>Other Information</title>
-
- <para>If you want to be able to &man.ssh.1; into the bridge from the network,
- it is correct to assign one of the network cards an IP address. The
- consensus is that assigning both cards an address is a bad
- idea.</para>
-
- <para>If you have multiple bridges on your network, there cannot be more
- than one path between any two workstations. Technically, this means
- that there is no support for spanning tree link management.</para>
-
- <para>A bridge can add latency to your &man.ping.8; times, especially for
- traffic from one segment to another.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-diskless">
- <info><title>Diskless Operation</title>
- <authorgroup>
- <author><personname><firstname>Jean-Fran&ccedil;ois</firstname><surname>Dock&egrave;s</surname></personname><contrib>Updated by </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Alex</firstname><surname>Dupre</surname></personname><contrib>Reorganized and enhanced by </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>diskless workstation</primary></indexterm>
- <indexterm><primary>diskless operation</primary></indexterm>
-
- <para>A FreeBSD machine can boot over the network and operate without a
- local disk, using file systems mounted from an <acronym>NFS</acronym> server. No system
- modification is necessary, beyond standard configuration files.
- Such a system is relatively easy to set up because all the necessary elements
- are readily available:</para>
- <itemizedlist>
- <listitem>
- <para>There are at least two possible methods to load the kernel over
- the network:</para>
- <itemizedlist>
- <listitem>
- <para><acronym>PXE</acronym>: The &intel; Preboot eXecution
- Environment system is a form of smart boot ROM built into some
- networking cards or motherboards. See &man.pxeboot.8; for more
- details.</para>
- </listitem>
- <listitem>
- <para>The <application>Etherboot</application>
- port (<package>net/etherboot</package>) produces
- ROM-able code to boot kernels over the network. The
- code can be either burnt into a boot PROM on a network
- card, or loaded from a local floppy (or hard) disk
- drive, or from a running &ms-dos; system. Many network
- cards are supported.</para>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>A sample script
- (<filename>/usr/share/examples/diskless/clone_root</filename>) eases
- the creation and maintenance of the workstation's root file system
- on the server. The script will probably require a little
- customization but it will get you started very quickly.</para>
- </listitem>
-
- <listitem>
- <para>Standard system startup files exist in <filename>/etc</filename>
- to detect and support a diskless system startup.</para>
- </listitem>
-
- <listitem>
- <para>Swapping, if needed, can be done either to an <acronym>NFS</acronym> file or to
- a local disk.</para>
- </listitem>
- </itemizedlist>
-
- <para>There are many ways to set up diskless workstations. Many
- elements are involved, and most can be customized to suit local
- taste. The following will describe variations on the setup of a complete system,
- emphasizing simplicity and compatibility with the
- standard FreeBSD startup scripts. The system described has the
- following characteristics:</para>
-
- <itemizedlist>
- <listitem>
- <para>The diskless workstations use a shared
- read-only <filename>/</filename> file system, and a shared
- read-only <filename>/usr</filename>.</para>
- <para>The root file system is a copy of a
- standard FreeBSD root (typically the server's), with some
- configuration files overridden by ones specific to diskless
- operation or, possibly, to the workstation they belong to.</para>
- <para>The parts of the root which have to be
- writable are overlaid with &man.md.4; file systems. Any changes
- will be lost when the system reboots.</para>
- </listitem>
- <listitem>
- <para>The kernel is transferred and loaded either with
- <application>Etherboot</application> or <acronym>PXE</acronym>
- as some situations may mandate the use of either method.</para>
- </listitem>
- </itemizedlist>
-
- <caution><para>As described, this system is insecure. It should
- live in a protected area of a network, and be untrusted by
- other hosts.</para>
- </caution>
-
- <para>All the information in this section has been tested
- using &os; 5.2.1-RELEASE.</para>
-
- <sect2>
- <title>Background Information</title>
-
- <para>Setting up diskless workstations is both relatively
- straightforward and prone to errors. These are sometimes
- difficult to diagnose for a number of reasons. For example:</para>
-
- <itemizedlist>
- <listitem>
- <para>Compile time options may determine different behaviors at
- runtime.</para>
- </listitem>
-
- <listitem>
- <para>Error messages are often cryptic or totally absent.</para>
- </listitem>
- </itemizedlist>
-
- <para>In this context, having some knowledge of the background
- mechanisms involved is very useful to solve the problems that
- may arise.</para>
-
- <para>Several operations need to be performed for a successful
- bootstrap:</para>
-
- <itemizedlist>
- <listitem>
- <para>The machine needs to obtain initial parameters such as its IP
- address, executable filename, server name, root path. This is
- done using the <acronym>DHCP</acronym> or BOOTP protocols.
- <acronym>DHCP</acronym> is a compatible extension of BOOTP, and
- uses the same port numbers and basic packet format.</para>
-
- <para>It is possible to configure a system to use only BOOTP.
- The &man.bootpd.8; server program is included in the base &os;
- system.</para>
-
- <para>However, <acronym>DHCP</acronym> has a number of advantages
- over BOOTP (nicer configuration files, possibility of using
- <acronym>PXE</acronym>, plus many others not directly related to
- diskless operation), and we will describe mainly a
- <acronym>DHCP</acronym> configuration, with equivalent examples
- using &man.bootpd.8; when possible. The sample configuration will
- use the <application>ISC DHCP</application> software package
- (release 3.0.1.r12 was installed on the test server).</para>
- </listitem>
-
- <listitem>
- <para>The machine needs to transfer one or several programs to local
- memory. Either <acronym>TFTP</acronym> or <acronym>NFS</acronym>
- are used. The choice between <acronym>TFTP</acronym> and
- <acronym>NFS</acronym> is a compile time option in several places.
- A common source of error is to specify filenames for the wrong
- protocol: <acronym>TFTP</acronym> typically transfers all files from
- a single directory on the server, and would expect filenames
- relative to this directory. <acronym>NFS</acronym> needs absolute
- file paths.</para>
- </listitem>
-
- <listitem>
- <para>The possible intermediate bootstrap programs and the kernel
- need to be initialized and executed. There are several important
- variations in this area:</para>
-
- <itemizedlist>
- <listitem>
- <para><acronym>PXE</acronym> will load &man.pxeboot.8;, which is
- a modified version of the &os; third stage loader. The
- &man.loader.8; will obtain most parameters necessary to system
- startup, and leave them in the kernel environment before
- transferring control. It is possible to use a
- <filename>GENERIC</filename> kernel in this case.</para>
- </listitem>
-
- <listitem>
- <para><application>Etherboot</application>, will directly
- load the kernel, with less preparation. You will need to
- build a kernel with specific options.</para>
- </listitem>
- </itemizedlist>
-
- <para><acronym>PXE</acronym> and <application>Etherboot</application>
- work equally well; however, because kernels
- normally let the &man.loader.8; do more work for them,
- <acronym>PXE</acronym> is the preferred method.</para>
-
- <para>If your <acronym>BIOS</acronym> and network cards support
- <acronym>PXE</acronym>, you should probably use it.</para>
- </listitem>
-
- <listitem>
- <para>Finally, the machine needs to access its file systems.
- <acronym>NFS</acronym> is used in all cases.</para>
- </listitem>
- </itemizedlist>
-
- <para>See also &man.diskless.8; manual page.</para>
- </sect2>
-
- <sect2>
- <title>Setup Instructions</title>
-
- <sect3>
- <title>Configuration Using <application>ISC DHCP</application></title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>The <application>ISC DHCP</application> server can answer
- both BOOTP and <acronym>DHCP</acronym> requests.</para>
-
- <para><application>ISC DHCP
- 3.0</application> is not part of the base
- system. You will first need to install the
- <package>net/isc-dhcp3-server</package> port or the
- corresponding package.</para>
-
- <para>Once <application>ISC DHCP</application> is installed, it
- needs a configuration file to run (normally named
- <filename>/usr/local/etc/dhcpd.conf</filename>). Here follows
- a commented example, where host <systemitem>margaux</systemitem>
- uses <application>Etherboot</application> and host
- <systemitem>corbieres</systemitem> uses <acronym>PXE</acronym>:</para>
-
- <programlisting>
-default-lease-time 600;
-max-lease-time 7200;
-authoritative;
-
-option domain-name "example.com";
-option domain-name-servers 192.168.4.1;
-option routers 192.168.4.1;
-
-subnet 192.168.4.0 netmask 255.255.255.0 {
- use-host-decl-names on; <co xml:id="co-dhcp-host-name"/>
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.168.4.255;
-
- host margaux {
- hardware ethernet 01:23:45:67:89:ab;
- fixed-address margaux.example.com;
- next-server 192.168.4.4; <co xml:id="co-dhcp-next-server"/>
- filename "/data/misc/kernel.diskless"; <co xml:id="co-dhcp-filename"/>
- option root-path "192.168.4.4:/data/misc/diskless"; <co xml:id="co-dhcp-root-path"/>
- }
- host corbieres {
- hardware ethernet 00:02:b3:27:62:df;
- fixed-address corbieres.example.com;
- next-server 192.168.4.4;
- filename "pxeboot";
- option root-path "192.168.4.4:/data/misc/diskless";
- }
-}
- </programlisting>
-
- <calloutlist>
- <callout arearefs="co-dhcp-host-name"><para>This option tells
- <application>dhcpd</application> to send the value in the
- <literal>host</literal> declarations as the hostname for the
- diskless host. An alternate way would be to add an
- <literal>option host-name
- margaux</literal> inside the
- <literal>host</literal> declarations.</para>
- </callout>
-
- <callout arearefs="co-dhcp-next-server"><para>The
- <literal>next-server</literal> directive designates
- the <acronym>TFTP</acronym> or <acronym>NFS</acronym> server to
- use for loading loader or kernel file (the default is to use
- the same host as the
- <acronym>DHCP</acronym> server).</para>
- </callout>
-
- <callout arearefs="co-dhcp-filename"><para>The
- <literal>filename</literal> directive defines the file that
- <application>Etherboot</application> or <acronym>PXE</acronym>
- will load for the next execution step. It must be specified
- according to the transfer method used.
- <application>Etherboot</application> can be compiled to use
- <acronym>NFS</acronym> or <acronym>TFTP</acronym>. The &os;
- port configures <acronym>NFS</acronym> by default.
- <acronym>PXE</acronym> uses <acronym>TFTP</acronym>, which is
- why a relative filename is used here (this may depend on the
- <acronym>TFTP</acronym> server configuration, but would be
- fairly typical). Also, <acronym>PXE</acronym> loads
- <filename>pxeboot</filename>, not the kernel. There are other
- interesting possibilities, like loading
- <filename>pxeboot</filename> from a &os; CD-ROM
- <filename>/boot</filename> directory (as
- &man.pxeboot.8; can load a <filename>GENERIC</filename> kernel,
- this makes it possible to use <acronym>PXE</acronym> to boot
- from a remote CD-ROM).</para>
- </callout>
-
- <callout arearefs="co-dhcp-root-path"><para>The
- <literal>root-path</literal> option defines the path to
- the root file system, in usual <acronym>NFS</acronym> notation.
- When using <acronym>PXE</acronym>, it is possible to leave off
- the host's IP as long as you do not enable the kernel option
- BOOTP. The <acronym>NFS</acronym> server will then be
- the same as the <acronym>TFTP</acronym> one.</para>
- </callout>
- </calloutlist>
-
- </sect3>
- <sect3>
- <title>Configuration Using BOOTP</title>
- <indexterm>
- <primary>BOOTP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>Here follows an equivalent <application>bootpd</application>
- configuration (reduced to one client). This would be found in
- <filename>/etc/bootptab</filename>.</para>
-
- <para>Please note that <application>Etherboot</application>
- must be compiled with the non-default option
- <literal>NO_DHCP_SUPPORT</literal> in order to use BOOTP,
- and that <acronym>PXE</acronym> <emphasis>needs</emphasis> <acronym>DHCP</acronym>. The only
- obvious advantage of <application>bootpd</application> is
- that it exists in the base system.</para>
-
- <programlisting>
-.def100:\
- :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
- :sm=255.255.255.0:\
- :ds=192.168.4.1:\
- :gw=192.168.4.1:\
- :hd="/tftpboot":\
- :bf="/kernel.diskless":\
- :rp="192.168.4.4:/data/misc/diskless":
-
-margaux:ha=0123456789ab:tc=.def100
- </programlisting>
- </sect3>
-
- <sect3>
- <title>Preparing a Boot Program with
- <application>Etherboot</application></title>
-
- <indexterm>
- <primary>Etherboot</primary>
- </indexterm>
-
- <para><link xlink:href="http://etherboot.sourceforge.net">Etherboot's Web
- site</link> contains
- <link xlink:href="http://etherboot.sourceforge.net/doc/html/userman/t1.html">
- extensive documentation</link> mainly intended for Linux
- systems, but nonetheless containing useful information. The
- following will just outline how you would use
- <application>Etherboot</application> on a FreeBSD
- system.</para>
-
- <para>You must first install the <package>net/etherboot</package> package or port.</para>
-
- <para>You can change the <application>Etherboot</application>
- configuration (i.e. to use <acronym>TFTP</acronym> instead of
- <acronym>NFS</acronym>) by editing the <filename>Config</filename>
- file in the <application>Etherboot</application> source
- directory.</para>
-
- <para>For our setup, we shall use a boot floppy. For other methods
- (PROM, or &ms-dos; program), please refer to the
- <application>Etherboot</application> documentation.</para>
-
- <para>To make a boot floppy, insert a floppy in the drive on the
- machine where you installed <application>Etherboot</application>,
- then change your current directory to the <filename>src</filename>
- directory in the <application>Etherboot</application> tree and
- type:</para>
-
- <screen>
-&prompt.root; <userinput>gmake bin32/devicetype.fd0</userinput>
- </screen>
-
- <para><replaceable>devicetype</replaceable> depends on the type of
- the Ethernet card in the diskless workstation. Refer to the
- <filename>NIC</filename> file in the same directory to determine the
- right <replaceable>devicetype</replaceable>.</para>
-
- </sect3>
-
- <sect3>
- <title>Booting with <acronym>PXE</acronym></title>
-
- <para>By default, the &man.pxeboot.8; loader loads the kernel via
- <acronym>NFS</acronym>. It can be compiled to use
- <acronym>TFTP</acronym> instead by specifying the
- <literal>LOADER_TFTP_SUPPORT</literal> option in
- <filename>/etc/make.conf</filename>. See the comments in
- <filename>/usr/share/examples/etc/make.conf</filename>
- for instructions.</para>
-
- <para>There are two other <filename>make.conf</filename>
- options which may be useful for setting up a serial console diskless
- machine: <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, and
- <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>.</para>
-
- <para>To use <acronym>PXE</acronym> when the machine starts, you will
- usually need to select the <literal>Boot from network</literal>
- option in your <acronym>BIOS</acronym> setup, or type a function key
- during the PC initialization.</para>
- </sect3>
-
- <sect3>
- <title>Configuring the <acronym>TFTP</acronym> and <acronym>NFS</acronym> Servers</title>
-
- <indexterm>
- <primary>TFTP</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
- <indexterm>
- <primary>NFS</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>If you are using <acronym>PXE</acronym> or
- <application>Etherboot</application> configured to use
- <acronym>TFTP</acronym>, you need to enable
- <application>tftpd</application> on the file server:</para>
- <procedure>
- <step>
- <para>Create a directory from which <application>tftpd</application>
- will serve the files, e.g. <filename>/tftpboot</filename>.</para>
- </step>
-
- <step>
- <para>Add this line to your
- <filename>/etc/inetd.conf</filename>:</para>
-
- <programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting>
-
- <note><para>It appears that at least some <acronym>PXE</acronym> versions want
- the <acronym>TCP</acronym> version of <acronym>TFTP</acronym>. In this case, add a second line,
- replacing <literal>dgram udp</literal> with <literal>stream
- tcp</literal>.</para>
- </note>
- </step>
- <step>
- <para>Tell <application>inetd</application> to reread its configuration
- file. The <option>inetd_enable="YES"</option> must be in
- the <filename>/etc/rc.conf</filename> file for this
- command to execute correctly:</para>
- <screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
- </step>
- </procedure>
-
- <para>You can place the <filename>tftpboot</filename>
- directory anywhere on the server. Make sure that the
- location is set in both <filename>inetd.conf</filename> and
- <filename>dhcpd.conf</filename>.</para>
-
- <para>In all cases, you also need to enable <acronym>NFS</acronym> and export the
- appropriate file system on the <acronym>NFS</acronym> server.</para>
-
- <procedure>
- <step>
- <para>Add this to <filename>/etc/rc.conf</filename>:</para>
- <programlisting>nfs_server_enable="YES"</programlisting>
- </step>
-
- <step>
- <para>Export the file system where the diskless root directory
- is located by adding the following to
- <filename>/etc/exports</filename> (adjust the volume mount
- point and replace <replaceable>margaux corbieres</replaceable>
- with the names of the diskless workstations):</para>
-
- <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
- </step>
- <step>
- <para>Tell <application>mountd</application> to reread its configuration
- file. If you actually needed to enable <acronym>NFS</acronym> in
- <filename>/etc/rc.conf</filename>
- at the first step, you probably want to reboot instead.</para>
- <screen>&prompt.root; <userinput>/etc/rc.d/mountd restart</userinput></screen>
- </step>
- </procedure>
-
- </sect3>
-
- <sect3>
- <title>Building a Diskless Kernel</title>
-
- <indexterm>
- <primary>diskless operation</primary>
- <secondary>kernel configuration</secondary>
- </indexterm>
-
- <para>If using <application>Etherboot</application>, you need to
- create a kernel configuration file for the diskless client
- with the following options (in addition to the usual ones):</para>
-
- <programlisting>
-options BOOTP # Use BOOTP to obtain IP address/hostname
-options BOOTP_NFSROOT # NFS mount root file system using BOOTP info
- </programlisting>
-
- <para>You may also want to use <literal>BOOTP_NFSV3</literal>,
- <literal>BOOT_COMPAT</literal> and <literal>BOOTP_WIRED_TO</literal>
- (refer to <filename>NOTES</filename>).</para>
-
- <para>These option names are historical and slightly misleading as
- they actually enable indifferent use of <acronym>DHCP</acronym> and
- BOOTP inside the kernel (it is also possible to force strict BOOTP
- or <acronym>DHCP</acronym> use).</para>
-
- <para>Build the kernel (see <xref linkend="kernelconfig"/>),
- and copy it to the place specified
- in <filename>dhcpd.conf</filename>.</para>
-
- <note>
- <para>When using <acronym>PXE</acronym>, building a kernel with the
- above options is not strictly necessary (though suggested).
- Enabling them will cause more <acronym>DHCP</acronym> requests to be
- issued during kernel startup, with a small risk of inconsistency
- between the new values and those retrieved by &man.pxeboot.8; in some
- special cases. The advantage of using them is that the host name
- will be set as a side effect. Otherwise you will need to set the
- host name by another method, for example in a client-specific
- <filename>rc.conf</filename> file.</para>
- </note>
-
- <note>
- <para>In order to be loadable with
- <application>Etherboot</application>, a kernel needs to have
- the device hints compiled in. You would typically set the
- following option in the configuration file (see the
- <filename>NOTES</filename> configuration comments file):</para>
-
- <programlisting>hints "GENERIC.hints"</programlisting>
- </note>
-
- </sect3>
-
- <sect3>
- <title>Preparing the Root Filesystem</title>
-
- <indexterm>
- <primary>root file system</primary>
- <secondary>diskless operation</secondary>
- </indexterm>
-
- <para>You need to create a root file system for the diskless
- workstations, in the location listed as
- <literal>root-path</literal> in
- <filename>dhcpd.conf</filename>.</para>
-
- <sect4>
- <title>Using <command>make world</command> to populate root</title>
-
- <para>This method is quick and
- will install a complete virgin system (not only the root file system)
- into <envar>DESTDIR</envar>.
- All you have to do is simply execute the following script:</para>
-
- <programlisting>#!/bin/sh
-export DESTDIR=/data/misc/diskless
-mkdir -p ${DESTDIR}
-cd /usr/src; make buildworld &amp;&amp; make buildkernel
-cd /usr/src/etc; make distribution</programlisting>
-
- <para>Once done, you may need to customize your
- <filename>/etc/rc.conf</filename> and
- <filename>/etc/fstab</filename> placed into
- <envar>DESTDIR</envar> according to your needs.</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Configuring Swap</title>
-
- <para>If needed, a swap file located on the server can be
- accessed via <acronym>NFS</acronym>.</para>
-
- <sect4>
- <title><acronym>NFS</acronym> Swap</title>
-
- <para>The kernel does not support enabling <acronym>NFS</acronym>
- swap at boot time. Swap must be enabled by the startup scripts,
- by mounting a writable file system and creating and enabling a
- swap file. To create a swap file of appropriate size, you can do
- like this:</para>
-
- <screen>&prompt.root; <userinput>dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000</userinput></screen>
-
- <para>To enable it you have to add the following line to your
- <filename>rc.conf</filename>:</para>
-
- <programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Miscellaneous Issues</title>
-
-
- <sect4>
- <title>Running with a Read-only <filename>/usr</filename></title>
-
- <indexterm>
- <primary>diskless operation</primary>
- <secondary>/usr read-only</secondary>
- </indexterm>
-
- <para>If the diskless workstation is configured to run X, you
- will have to adjust the <application>XDM</application> configuration file, which puts
- the error log on <filename>/usr</filename> by default.</para>
- </sect4>
- <sect4>
- <title>Using a Non-FreeBSD Server</title>
-
- <para>When the server for the root file system is not running FreeBSD,
- you will have to create the root file system on a
- FreeBSD machine, then copy it to its destination, using
- <command>tar</command> or <command>cpio</command>.</para>
- <para>In this situation, there are sometimes
- problems with the special files in <filename>/dev</filename>,
- due to differing major/minor integer sizes. A solution to this
- problem is to export a directory from the non-FreeBSD server,
- mount this directory onto a FreeBSD machine, and
- use &man.devfs.5; to allocate device nodes transparently for
- the user.</para>
-
- </sect4>
-
- </sect3>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-isdn">
- <title>ISDN</title>
-
- <indexterm>
- <primary>ISDN</primary>
- </indexterm>
-
- <para>A good resource for information on ISDN technology and hardware is
- <link xlink:href="http://www.alumni.caltech.edu/~dank/isdn/">Dan Kegel's ISDN
- Page</link>.</para>
-
- <para>A quick simple road map to ISDN follows:</para>
-
- <itemizedlist>
- <listitem>
- <para>If you live in Europe you might want to investigate the ISDN card
- section.</para>
- </listitem>
-
- <listitem>
- <para>If you are planning to use ISDN primarily to connect to the
- Internet with an Internet Provider on a dial-up non-dedicated basis,
- you might look into Terminal Adapters. This will give you the
- most flexibility, with the fewest problems, if you change
- providers.</para>
- </listitem>
-
- <listitem>
- <para>If you are connecting two LANs together, or connecting to the
- Internet with a dedicated ISDN connection, you might consider
- the stand alone router/bridge option.</para>
- </listitem>
- </itemizedlist>
-
- <para>Cost is a significant factor in determining what solution you will
- choose. The following options are listed from least expensive to most
- expensive.</para>
-
- <sect2 xml:id="network-isdn-cards">
- <info><title>ISDN Cards</title>
- <authorgroup>
- <author><personname><firstname>Hellmuth</firstname><surname>Michaelis</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm>
- <primary>ISDN</primary>
- <secondary>cards</secondary>
- </indexterm>
-
- <para>FreeBSD's ISDN implementation supports only the DSS1/Q.931
- (or Euro-ISDN) standard using passive cards. Some active cards
- are supported where the firmware
- also supports other signaling protocols; this also includes the
- first supported Primary Rate (PRI) ISDN card.</para>
-
- <para>The <application>isdn4bsd</application> software allows you to connect
- to other ISDN routers using either IP over raw HDLC or by using
- synchronous PPP: either by using kernel PPP with <literal>isppp</literal>, a
- modified &man.sppp.4; driver, or by using userland &man.ppp.8;. By using
- userland &man.ppp.8;, channel bonding of two or more ISDN
- B-channels is possible. A telephone answering machine
- application is also available as well as many utilities such as
- a software 300 Baud modem.</para>
-
- <para>Some growing number of PC ISDN cards are supported under
- FreeBSD and the reports show that it is successfully used all
- over Europe and in many other parts of the world.</para>
-
- <para>The passive ISDN cards supported are mostly the ones with
- the Infineon (formerly Siemens) ISAC/HSCX/IPAC ISDN chipsets,
- but also ISDN cards with chips from Cologne Chip (ISA bus only),
- PCI cards with Winbond W6692 chips, some cards with the
- Tiger300/320/ISAC chipset combinations and some vendor specific
- chipset based cards such as the AVM Fritz!Card PCI V.1.0 and the
- AVM Fritz!Card PnP.</para>
-
- <para>Currently the active supported ISDN cards are the AVM B1
- (ISA and PCI) BRI cards and the AVM T1 PCI PRI cards.</para>
-
- <para>For documentation on <application>isdn4bsd</application>,
- have a look at <filename>/usr/share/examples/isdn/</filename>
- directory on your FreeBSD system or at the <link xlink:href="http://www.freebsd-support.de/i4b/">homepage of
- isdn4bsd</link> which also has pointers to hints, erratas and
- much more documentation such as the <link xlink:href="http://people.FreeBSD.org/~hm/">isdn4bsd
- handbook</link>.</para>
-
- <para>In case you are interested in adding support for a
- different ISDN protocol, a currently unsupported ISDN PC card or
- otherwise enhancing <application>isdn4bsd</application>, please
- get in touch with &a.hm;.</para>
-
- <para>For questions regarding the installation, configuration
- and troubleshooting <application>isdn4bsd</application>, a
- &a.isdn.name; mailing list is available.</para>
- </sect2>
-
- <sect2>
- <title>ISDN Terminal Adapters</title>
-
- <para>Terminal adapters (TA), are to ISDN what modems are to regular
- phone lines.</para>
- <indexterm><primary>modem</primary></indexterm>
- <para>Most TA's use the standard Hayes modem AT command set, and can be
- used as a drop in replacement for a modem.</para>
-
- <para>A TA will operate basically the same as a modem except connection
- and throughput speeds will be much faster than your old modem. You
- will need to configure <link linkend="ppp">PPP</link> exactly the same
- as for a modem setup. Make sure you set your serial speed as high as
- possible.</para>
- <indexterm><primary>PPP</primary></indexterm>
- <para>The main advantage of using a TA to connect to an Internet
- Provider is that you can do Dynamic PPP. As IP address space becomes
- more and more scarce, most providers are not willing to provide you
- with a static IP anymore. Most stand-alone routers are not able to
- accommodate dynamic IP allocation.</para>
-
- <para>TA's completely rely on the PPP daemon that you are running for
- their features and stability of connection. This allows you to
- upgrade easily from using a modem to ISDN on a FreeBSD machine, if you
- already have PPP set up. However, at the same time any problems you
- experienced with the PPP program and are going to persist.</para>
-
- <para>If you want maximum stability, use the kernel <link linkend="ppp">PPP</link> option, not the <link linkend="userppp">userland PPP</link>.</para>
-
- <para>The following TA's are known to work with FreeBSD:</para>
-
- <itemizedlist>
- <listitem>
- <para>Motorola BitSurfer and Bitsurfer Pro</para>
- </listitem>
-
- <listitem>
- <para>Adtran</para>
- </listitem>
- </itemizedlist>
-
- <para>Most other TA's will probably work as well, TA vendors try to make
- sure their product can accept most of the standard modem AT command
- set.</para>
-
- <para>The real problem with external TA's is that, like modems,
- you need a good serial card in your computer.</para>
-
- <para>You should read the <link xlink:href="&url.articles.serial-uart;/index.html">FreeBSD Serial
- Hardware</link> tutorial for a detailed understanding of
- serial devices, and the differences between asynchronous and
- synchronous serial ports.</para>
-
- <para>A TA running off a standard PC serial port (asynchronous) limits
- you to 115.2&nbsp;Kbs, even though you have a 128&nbsp;Kbs connection.
- To fully utilize the 128&nbsp;Kbs that ISDN is capable of,
- you must move the TA to a synchronous serial card.</para>
-
- <para>Do not be fooled into buying an internal TA and thinking you have
- avoided the synchronous/asynchronous issue. Internal TA's simply have
- a standard PC serial port chip built into them. All this will do is
- save you having to buy another serial cable and find another empty
- electrical socket.</para>
-
- <para>A synchronous card with a TA is at least as fast as a stand-alone
- router, and with a simple 386 FreeBSD box driving it, probably more
- flexible.</para>
-
- <para>The choice of synchronous card/TA v.s. stand-alone router is largely a
- religious issue. There has been some discussion of this in
- the mailing lists. We suggest you search the <link xlink:href="&url.base;/search/index.html">archives</link> for
- the complete discussion.</para>
- </sect2>
-
- <sect2>
- <title>Stand-alone ISDN Bridges/Routers</title>
- <indexterm>
- <primary>ISDN</primary>
- <secondary>stand-alone bridges/routers</secondary>
- </indexterm>
- <para>ISDN bridges or routers are not at all specific to FreeBSD
- or any other operating system. For a more complete
- description of routing and bridging technology, please refer
- to a networking reference book.</para>
-
- <para>In the context of this section, the terms router and bridge will
- be used interchangeably.</para>
-
- <para>As the cost of low end ISDN routers/bridges comes down, it
- will likely become a more and more popular choice. An ISDN
- router is a small box that plugs directly into your local
- Ethernet network, and manages its own connection to the other
- bridge/router. It has built in software to communicate via
- PPP and other popular protocols.</para>
-
- <para>A router will allow you much faster throughput than a
- standard TA, since it will be using a full synchronous ISDN
- connection.</para>
-
- <para>The main problem with ISDN routers and bridges is that
- interoperability between manufacturers can still be a problem.
- If you are planning to connect to an Internet provider, you
- should discuss your needs with them.</para>
-
- <para>If you are planning to connect two LAN segments together,
- such as your home LAN to the office LAN, this is the simplest
- lowest
- maintenance solution. Since you are buying the equipment for
- both sides of the connection you can be assured that the link
- will work.</para>
-
- <para>For example to connect a home computer or branch office
- network to a head office network the following setup could be
- used:</para>
-
- <example>
- <title>Branch Office or Home Network</title>
-
- <indexterm><primary>10 base 2</primary></indexterm>
- <para>Network uses a bus based topology with 10 base 2
- Ethernet (<quote>thinnet</quote>). Connect router to network cable with
- AUI/10BT transceiver, if necessary.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/isdn-bus"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">---Sun workstation
-|
----FreeBSD box
-|
----Windows 95
-|
-Stand-alone router
- |
-ISDN BRI line</literallayout>
- </textobject>
-
- <textobject>
- <phrase>10 Base 2 Ethernet</phrase>
- </textobject>
- </mediaobject>
-
- <para>If your home/branch office is only one computer you can use a
- twisted pair crossover cable to connect to the stand-alone router
- directly.</para>
- </example>
-
- <example>
- <title>Head Office or Other LAN</title>
-
- <indexterm><primary>10 base T</primary></indexterm>
- <para>Network uses a star topology with 10 base T Ethernet
- (<quote>Twisted Pair</quote>).</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/isdn-twisted-pair"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> -------Novell Server
- | H |
- | ---Sun
- | |
- | U ---FreeBSD
- | |
- | ---Windows 95
- | B |
- |___---Stand-alone router
- |
- ISDN BRI line</literallayout>
- </textobject>
-
- <textobject>
- <phrase>ISDN Network Diagram</phrase>
- </textobject>
- </mediaobject>
- </example>
-
- <para>One large advantage of most routers/bridges is that they allow you
- to have 2 <emphasis>separate independent</emphasis> PPP connections to
- 2 separate sites at the <emphasis>same</emphasis> time. This is not
- supported on most TA's, except for specific (usually expensive) models
- that
- have two serial ports. Do not confuse this with channel bonding, MPP,
- etc.</para>
-
- <para>This can be a very useful feature if, for example, you
- have an dedicated ISDN connection at your office and would
- like to tap into it, but do not want to get another ISDN line
- at work. A router at the office location can manage a
- dedicated B channel connection (64&nbsp;Kbps) to the Internet
- and use the other B channel for a separate data connection.
- The second B channel can be used for dial-in, dial-out or
- dynamically bonding (MPP, etc.) with the first B channel for
- more bandwidth.</para>
-
- <indexterm><primary>IPX/SPX</primary></indexterm>
- <para>An Ethernet bridge will also allow you to transmit more than just
- IP traffic. You can also send IPX/SPX or whatever other protocols you
- use.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-natd">
- <info><title>Network Address Translation</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
- <sect2 xml:id="network-natoverview">
- <title>Overview</title>
- <indexterm>
- <primary><application>natd</application></primary>
- </indexterm>
- <para>FreeBSD's Network Address Translation daemon, commonly known as
- &man.natd.8; is a daemon that accepts incoming raw IP packets,
- changes the source to the local machine and re-injects these packets
- back into the outgoing IP packet stream. &man.natd.8; does this by changing
- the source IP address and port such that when data is received back,
- it is able to determine the original location of the data and forward
- it back to its original requester.</para>
- <indexterm><primary>Internet connection sharing</primary></indexterm>
- <indexterm><primary>NAT</primary></indexterm>
- <para>The most common use of NAT is to perform what is commonly known as
- Internet Connection Sharing.</para>
- </sect2>
-
- <sect2 xml:id="network-natsetup">
- <title>Setup</title>
- <para>Due to the diminishing IP space in IPv4, and the increased number
- of users on high-speed consumer lines such as cable or DSL, people are
- increasingly in need of an Internet Connection Sharing solution. The
- ability to connect several computers online through one connection and
- IP address makes &man.natd.8; a reasonable choice.</para>
-
- <para>Most commonly, a user has a machine connected to a cable or DSL
- line with one IP address and wishes to use this one connected computer to
- provide Internet access to several more over a LAN.</para>
-
- <para>To do this, the FreeBSD machine on the Internet must act as a
- gateway. This gateway machine must have two NICs&mdash;one for connecting
- to the Internet router, the other connecting to a LAN. All the
- machines on the LAN are connected through a hub or switch.</para>
-
- <note>
- <para>There are many ways to get a LAN connected to the Internet
- through a &os; gateway. This example will only cover a
- gateway with at least two NICs.</para>
- </note>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="advanced-networking/natd"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> _______ __________ ________
- | | | | | |
- | Hub |-----| Client B |-----| Router |----- Internet
- |_______| |__________| |________|
- |
- ____|_____
-| |
-| Client A |
-|__________|</literallayout>
- </textobject>
-
- <textobject>
- <phrase>Network Layout</phrase>
- </textobject>
- </mediaobject>
-
- <para>A setup like this is commonly used to share an Internet
- connection. One of the <acronym>LAN</acronym> machines is
- connected to the Internet. The rest of the machines access
- the Internet through that <quote>gateway</quote>
- machine.</para>
- </sect2>
-
- <sect2 xml:id="network-natdkernconfiguration">
- <title>Configuration</title>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>The following options must be in the kernel configuration
- file:</para>
- <programlisting>options IPFIREWALL
-options IPDIVERT</programlisting>
-
- <para>Additionally, at choice, the following may also be suitable:</para>
- <programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT
-options IPFIREWALL_VERBOSE</programlisting>
-
- <para>The following must be in <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>gateway_enable="YES" <co xml:id="co-natd-gateway-enable"/>
-firewall_enable="YES" <co xml:id="co-natd-firewall-enable"/>
-firewall_type="OPEN" <co xml:id="co-natd-firewall-type"/>
-natd_enable="YES"
-natd_interface="<replaceable>fxp0</replaceable>" <co xml:id="co-natd-natd-interface"/>
-natd_flags="" <co xml:id="co-natd-natd-flags"/></programlisting>
-
- <calloutlist>
- <callout arearefs="co-natd-gateway-enable">
- <para>Sets up the machine to act as a gateway. Running
- <command>sysctl net.inet.ip.forwarding=1</command> would
- have the same effect.</para>
- </callout>
-
- <callout arearefs="co-natd-firewall-enable">
- <para>Enables the firewall rules in
- <filename>/etc/rc.firewall</filename> at boot.</para>
- </callout>
-
- <callout arearefs="co-natd-firewall-type">
- <para>This specifies a predefined firewall ruleset that
- allows anything in. See
- <filename>/etc/rc.firewall</filename> for additional
- types.</para>
- </callout>
-
- <callout arearefs="co-natd-natd-interface">
- <para>Indicates which interface to forward packets through
- (the interface connected to the Internet).</para>
- </callout>
-
- <callout arearefs="co-natd-natd-flags">
- <para>Any additional configuration options passed to
- &man.natd.8; on boot.</para>
- </callout>
- </calloutlist>
-
- <para>Having the previous options defined in
- <filename>/etc/rc.conf</filename> would run
- <command>natd -interface fxp0</command> at boot. This can also
- be run manually.</para>
-
- <note>
- <para>It is also possible to use a configuration file for
- &man.natd.8; when there are too many options to pass. In this
- case, the configuration file must be defined by adding the
- following line to <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>natd_flags="-f /etc/natd.conf"</programlisting>
-
- <para>The <filename>/etc/natd.conf</filename> file will
- contain a list of configuration options, one per line. For
- example the next section case would use the following
- file:</para>
-
- <programlisting>redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80</programlisting>
-
- <para>For more information about the configuration file,
- consult the &man.natd.8; manual page about the
- <option>-f</option> option.</para>
- </note>
-
- <para>Each machine and interface behind the LAN should be
- assigned IP address numbers in the private network space as
- defined by <link xlink:href="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC 1918</link>
- and have a default gateway of the <application>natd</application> machine's internal IP
- address.</para>
-
- <para>For example, client <systemitem>A</systemitem> and
- <systemitem>B</systemitem> behind the LAN have IP addresses of <systemitem class="ipaddress">192.168.0.2</systemitem> and <systemitem class="ipaddress">192.168.0.3</systemitem>, while the natd machine's
- LAN interface has an IP address of <systemitem class="ipaddress">192.168.0.1</systemitem>. Client <systemitem>A</systemitem>
- and <systemitem>B</systemitem>'s default gateway must be set to that
- of the <application>natd</application> machine, <systemitem class="ipaddress">192.168.0.1</systemitem>. The <application>natd</application> machine's
- external, or Internet interface does not require any special
- modification for &man.natd.8; to work.</para>
- </sect2>
-
- <sect2 xml:id="network-natdport-redirection">
- <title>Port Redirection</title>
-
- <para>The drawback with &man.natd.8; is that the LAN clients are not accessible
- from the Internet. Clients on the LAN can make outgoing connections to
- the world but cannot receive incoming ones. This presents a problem
- if trying to run Internet services on one of the LAN client machines.
- A simple way around this is to redirect selected Internet ports on the
- <application>natd</application> machine to a LAN client.
- </para>
-
- <para>For example, an IRC server runs on client <systemitem>A</systemitem>, and a web server runs
- on client <systemitem>B</systemitem>. For this to work properly, connections received on ports
- 6667 (IRC) and 80 (web) must be redirected to the respective machines.
- </para>
-
- <para>The <option>-redirect_port</option> must be passed to
- &man.natd.8; with the proper options. The syntax is as follows:</para>
- <programlisting> -redirect_port proto targetIP:targetPORT[-targetPORT]
- [aliasIP:]aliasPORT[-aliasPORT]
- [remoteIP[:remotePORT[-remotePORT]]]</programlisting>
-
- <para>In the above example, the argument should be:</para>
-
- <programlisting> -redirect_port tcp 192.168.0.2:6667 6667
- -redirect_port tcp 192.168.0.3:80 80</programlisting>
-
- <para>
- This will redirect the proper <emphasis>tcp</emphasis> ports to the
- LAN client machines.
- </para>
-
- <para>The <option>-redirect_port</option> argument can be used to indicate port
- ranges over individual ports. For example, <replaceable>tcp
- 192.168.0.2:2000-3000 2000-3000</replaceable> would redirect
- all connections received on ports 2000 to 3000 to ports 2000
- to 3000 on client <systemitem>A</systemitem>.</para>
-
- <para>These options can be used when directly running
- &man.natd.8;, placed within the
- <literal>natd_flags=""</literal> option in
- <filename>/etc/rc.conf</filename>,
- or passed via a configuration file.</para>
-
- <para>For further configuration options, consult &man.natd.8;</para>
- </sect2>
-
- <sect2 xml:id="network-natdaddress-redirection">
- <title>Address Redirection</title>
- <indexterm><primary>address redirection</primary></indexterm>
- <para>Address redirection is useful if several IP addresses are
- available, yet they must be on one machine. With this,
- &man.natd.8; can assign each LAN client its own external IP address.
- &man.natd.8; then rewrites outgoing packets from the LAN clients
- with the proper external IP address and redirects
- all traffic incoming on that particular IP address back to
- the specific LAN client. This is also known as static NAT.
- For example, the IP addresses <systemitem class="ipaddress">128.1.1.1</systemitem>,
- <systemitem class="ipaddress">128.1.1.2</systemitem>, and
- <systemitem class="ipaddress">128.1.1.3</systemitem> belong to the <application>natd</application> gateway
- machine. <systemitem class="ipaddress">128.1.1.1</systemitem> can be used
- as the <application>natd</application> gateway machine's external IP address, while
- <systemitem class="ipaddress">128.1.1.2</systemitem> and
- <systemitem class="ipaddress">128.1.1.3</systemitem> are forwarded back to LAN
- clients <systemitem>A</systemitem> and <systemitem>B</systemitem>.</para>
-
- <para>The <option>-redirect_address</option> syntax is as follows:</para>
-
- <programlisting>-redirect_address localIP publicIP</programlisting>
-
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>localIP</entry>
- <entry>The internal IP address of the LAN client.</entry>
- </row>
- <row>
- <entry>publicIP</entry>
- <entry>The external IP address corresponding to the LAN client.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>In the example, this argument would read:</para>
-
- <programlisting>-redirect_address 192.168.0.2 128.1.1.2
--redirect_address 192.168.0.3 128.1.1.3</programlisting>
-
- <para>Like <option>-redirect_port</option>, these arguments are also placed within
- the <literal>natd_flags=""</literal> option of <filename>/etc/rc.conf</filename>, or passed via a configuration file. With address
- redirection, there is no need for port redirection since all data
- received on a particular IP address is redirected.</para>
-
- <para>The external IP addresses on the <application>natd</application> machine must be active and aliased
- to the external interface. Look at &man.rc.conf.5; to do so.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-plip">
- <title>Parallel Line IP (PLIP)</title>
-
- <indexterm><primary>PLIP</primary></indexterm>
- <indexterm>
- <primary>Parallel Line IP</primary>
- <see>PLIP</see>
- </indexterm>
-
- <para>PLIP lets us run TCP/IP between parallel ports. It is
- useful on machines without network cards, or to install on
- laptops. In this section, we will discuss:</para>
-
- <itemizedlist>
- <listitem>
- <para>Creating a parallel (laplink) cable.</para>
- </listitem>
-
- <listitem>
- <para>Connecting two computers with PLIP.</para>
- </listitem>
- </itemizedlist>
-
- <sect2 xml:id="network-create-parallel-cable">
- <title>Creating a Parallel Cable</title>
-
- <para>You can purchase a parallel cable at most computer supply
- stores. If you cannot do that, or you just want to know how
- it is done, the following table shows how to make one out of a normal parallel
- printer cable.</para>
-
- <table frame="none">
- <title>Wiring a Parallel Cable for Networking</title>
-
- <tgroup cols="5">
- <thead>
- <row>
- <entry>A-name</entry>
-
- <entry>A-End</entry>
-
- <entry>B-End</entry>
-
- <entry>Descr.</entry>
-
- <entry>Post/Bit</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literallayout>DATA0
--ERROR</literallayout></entry>
-
- <entry><literallayout>2
-15</literallayout></entry>
-
- <entry><literallayout>15
-2</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x01
-1/0x08</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA1
-+SLCT</literallayout></entry>
-
- <entry><literallayout>3
-13</literallayout></entry>
-
- <entry><literallayout>13
-3</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x02
-1/0x10</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA2
-+PE</literallayout></entry>
-
- <entry><literallayout>4
-12</literallayout></entry>
-
- <entry><literallayout>12
-4</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x04
-1/0x20</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA3
--ACK</literallayout></entry>
-
- <entry><literallayout>5
-10</literallayout></entry>
-
- <entry><literallayout>10
-5</literallayout></entry>
-
- <entry>Strobe</entry>
-
- <entry><literallayout>0/0x08
-1/0x40</literallayout></entry>
- </row>
-
- <row>
- <entry><literallayout>DATA4
-BUSY</literallayout></entry>
-
- <entry><literallayout>6
-11</literallayout></entry>
-
- <entry><literallayout>11
-6</literallayout></entry>
-
- <entry>Data</entry>
-
- <entry><literallayout>0/0x10
-1/0x80</literallayout></entry>
- </row>
-
- <row>
- <entry>GND</entry>
-
- <entry>18-25</entry>
-
- <entry>18-25</entry>
-
- <entry>GND</entry>
-
- <entry>-</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect2>
-
- <sect2 xml:id="network-plip-setup">
- <title>Setting Up PLIP</title>
-
- <para>First, you have to get a laplink cable.
- Then, confirm that both computers have a kernel with &man.lpt.4; driver
- support:</para>
-
- <screen>&prompt.root; <userinput>grep lp /var/run/dmesg.boot</userinput>
-lpt0: &lt;Printer&gt; on ppbus0
-lpt0: Interrupt-driven port</screen>
-
- <para>The parallel port must be an interrupt driven port,
- you should have lines similar to the
- following in your in the
- <filename>/boot/device.hints</filename> file:</para>
-
- <programlisting>hint.ppc.0.at="isa"
-hint.ppc.0.irq="7"</programlisting>
-
- <para>Then check if the kernel configuration file has a
- <literal>device plip</literal> line or if the
- <filename>plip.ko</filename> kernel module is loaded. In both
- cases the parallel networking interface should appear when you
- use the &man.ifconfig.8; command to display it:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0</userinput>
-plip0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500</screen>
-
- <para>Plug the laplink cable into the parallel interface on
- both computers.</para>
-
- <para>Configure the network interface parameters on both
- sites as <systemitem class="username">root</systemitem>. For example, if you want to connect
- the host <systemitem>host1</systemitem> with another machine <systemitem>host2</systemitem>:</para>
-
- <programlisting> host1 &lt;-----&gt; host2
-IP Address 10.0.0.1 10.0.0.2</programlisting>
-
- <para>Configure the interface on <systemitem>host1</systemitem> by doing:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.1 10.0.0.2</userinput></screen>
-
- <para>Configure the interface on <systemitem>host2</systemitem> by doing:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.2 10.0.0.1</userinput></screen>
-
-
- <para>You now should have a working connection. Please read the
- manual pages &man.lp.4; and &man.lpt.4; for more details.</para>
-
- <para>You should also add both hosts to
- <filename>/etc/hosts</filename>:</para>
-
- <programlisting>127.0.0.1 localhost.my.domain localhost
-10.0.0.1 host1.my.domain host1
-10.0.0.2 host2.my.domain</programlisting>
-
- <para>To confirm the connection works, go to each host and ping
- the other. For example, on <systemitem>host1</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig plip0</userinput>
-plip0: flags=8851&lt;UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 10.0.0.1 --&gt; 10.0.0.2 netmask 0xff000000
-&prompt.root; <userinput>netstat -r</userinput>
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-host2 host1 UH 0 0 plip0
-&prompt.root; <userinput>ping -c 4 host2</userinput>
-PING host2 (10.0.0.2): 56 data bytes
-64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
-64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
-64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
-64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
-
---- host2 ping statistics ---
-4 packets transmitted, 4 packets received, 0% packet loss
-round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms</screen>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-ipv6">
- <info><title>IPv6</title>
- <authorgroup>
- <author><personname><firstname>Aaron</firstname><surname>Kaplan</surname></personname><contrib>Originally Written by </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Restructured and Added by </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Brad</firstname><surname>Davis</surname></personname><contrib>Extended by </contrib></author>
- </authorgroup>
-
- </info>
-
-
- <para>IPv6 (also known as IPng <quote>IP next generation</quote>) is
- the new version of the well known IP protocol (also known as
- <acronym>IPv4</acronym>). Like the other current *BSD systems,
- FreeBSD includes the KAME IPv6 reference implementation.
- So your FreeBSD system comes with all you will need to experiment with IPv6.
- This section focuses on getting IPv6 configured and running.</para>
-
- <para>In the early 1990s, people became aware of the rapidly
- diminishing address space of IPv4. Given the expansion rate of the
- Internet there were two major concerns:</para>
-
- <itemizedlist>
- <listitem>
- <para>Running out of addresses. Today this is not so much of a concern
- anymore since RFC1918 private address space
- (<systemitem class="ipaddress">10.0.0.0/8</systemitem>,
- <systemitem class="ipaddress">172.16.0.0/12</systemitem>, and
- <systemitem class="ipaddress">192.168.0.0/16</systemitem>)
- and Network Address Translation (<acronym>NAT</acronym>) are
- being employed.</para>
- </listitem>
-
- <listitem>
- <para>Router table entries were getting too large. This is
- still a concern today.</para>
- </listitem>
- </itemizedlist>
-
- <para>IPv6 deals with these and many other issues:</para>
-
- <itemizedlist>
- <listitem>
- <para>128 bit address space. In other words theoretically there are
- 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses
- available. This means there are approximately
- 6.67 * 10^27 IPv6 addresses per square meter on our planet.</para>
- </listitem>
-
- <listitem>
- <para>Routers will only store network aggregation addresses in their routing
- tables thus reducing the average space of a routing table to 8192
- entries.</para>
- </listitem>
- </itemizedlist>
-
- <para>There are also lots of other useful features of IPv6 such as:</para>
-
- <itemizedlist>
- <listitem>
- <para>Address autoconfiguration (<link xlink:href="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</link>)</para>
- </listitem>
-
- <listitem>
- <para>Anycast addresses (<quote>one-out-of many</quote>)</para>
- </listitem>
-
- <listitem>
- <para>Mandatory multicast addresses</para>
- </listitem>
-
- <listitem>
- <para>IPsec (IP security)</para>
- </listitem>
-
- <listitem>
- <para>Simplified header structure</para>
- </listitem>
-
- <listitem>
- <para>Mobile <acronym>IP</acronym></para>
- </listitem>
-
- <listitem>
- <para>IPv6-to-IPv4 transition mechanisms</para>
- </listitem>
- </itemizedlist>
-
-
- <para>For more information see:</para>
-
- <itemizedlist>
- <listitem>
- <para>IPv6 overview at <link xlink:href="http://playground.sun.com/pub/ipng/html/ipng-main.html">playground.sun.com</link></para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.kame.net">KAME.net</link></para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Background on IPv6 Addresses</title>
- <para>There are different types of IPv6 addresses: Unicast, Anycast and
- Multicast.</para>
-
- <para>Unicast addresses are the well known addresses. A packet sent
- to a unicast address arrives exactly at the interface belonging to
- the address.</para>
-
- <para>Anycast addresses are syntactically indistinguishable from unicast
- addresses but they address a group of interfaces. The packet destined for
- an anycast address will arrive at the nearest (in router metric)
- interface. Anycast addresses may only be used by routers.</para>
-
- <para>Multicast addresses identify a group of interfaces. A packet destined
- for a multicast address will arrive at all interfaces belonging to the
- multicast group.</para>
-
- <note><para>The IPv4 broadcast address (usually <systemitem class="ipaddress">xxx.xxx.xxx.255</systemitem>) is expressed
- by multicast addresses in IPv6.</para></note>
-
- <table frame="none">
- <title>Reserved IPv6 addresses</title>
-
- <tgroup cols="4">
- <thead>
- <row>
- <entry>IPv6 address</entry>
- <entry>Prefixlength (Bits)</entry>
- <entry>Description</entry>
- <entry>Notes</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>::</systemitem></entry>
- <entry>128 bits</entry>
- <entry>unspecified</entry>
- <entry>cf. <systemitem class="ipaddress">0.0.0.0</systemitem> in
- IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>::1</systemitem></entry>
- <entry>128 bits</entry>
- <entry>loopback address</entry>
- <entry>cf. <systemitem class="ipaddress">127.0.0.1</systemitem> in
- IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>::00:xx:xx:xx:xx</systemitem></entry>
- <entry>96 bits</entry>
- <entry>embedded IPv4</entry>
- <entry>The lower 32 bits are the IPv4 address. Also
- called <quote>IPv4 compatible IPv6
- address</quote></entry>
- </row>
-
- <row>
- <entry><systemitem>::ff:xx:xx:xx:xx</systemitem></entry>
- <entry>96 bits</entry>
- <entry>IPv4 mapped IPv6 address</entry>
- <entry>The lower 32 bits are the IPv4 address.
- For hosts which do not support IPv6.</entry>
- </row>
-
- <row>
- <entry><systemitem>fe80::</systemitem> - <systemitem>feb::</systemitem></entry>
- <entry>10 bits</entry>
- <entry>link-local</entry>
- <entry>cf. loopback address in IPv4</entry>
- </row>
-
- <row>
- <entry><systemitem>fec0::</systemitem> - <systemitem>fef::</systemitem></entry>
- <entry>10 bits</entry>
- <entry>site-local</entry>
- <entry>&nbsp;</entry>
- </row>
-
- <row>
- <entry><systemitem>ff::</systemitem></entry>
- <entry>8 bits</entry>
- <entry>multicast</entry>
- <entry>&nbsp;</entry>
- </row>
-
- <row>
- <entry><systemitem>001</systemitem> (base
- 2)</entry>
- <entry>3 bits</entry>
- <entry>global unicast</entry>
- <entry>All global unicast addresses are assigned from
- this pool. The first 3 bits are
- <quote>001</quote>.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect2>
-
- <sect2>
- <title>Reading IPv6 Addresses</title>
- <para>The canonical form is represented as: <systemitem>x:x:x:x:x:x:x:x</systemitem>, each
- <quote>x</quote> being a 16 Bit hex value. For example
- <systemitem>FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</systemitem></para>
-
- <para>Often an address will have long substrings of all zeros
- therefore one such substring per address can be abbreviated by <quote>::</quote>.
- Also up to three leading <quote>0</quote>s per hexquad can be omitted.
- For example <systemitem>fe80::1</systemitem>
- corresponds to the canonical form
- <systemitem>fe80:0000:0000:0000:0000:0000:0000:0001</systemitem>.</para>
-
- <para>A third form is to write the last 32 Bit part in the
- well known (decimal) IPv4 style with dots <quote>.</quote>
- as separators. For example
- <systemitem>2002::10.0.0.1</systemitem>
- corresponds to the (hexadecimal) canonical representation
- <systemitem>2002:0000:0000:0000:0000:0000:0a00:0001</systemitem>
- which in turn is equivalent to
- writing <systemitem>2002::a00:1</systemitem>.</para>
-
- <para>By now the reader should be able to understand the following:</para>
-
- <screen>&prompt.root; <userinput>ifconfig</userinput></screen>
-
- <programlisting>rl0: flags=8943&lt;UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
- inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
- ether 00:00:21:03:08:e1
- media: Ethernet autoselect (100baseTX )
- status: active</programlisting>
-
- <para><systemitem>fe80::200:21ff:fe03:8e1%rl0</systemitem>
- is an auto configured link-local address. It is generated from the MAC
- address as part of the auto configuration.</para>
-
- <para>For further information on the structure of IPv6 addresses
- see <link xlink:href="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</link>.</para>
- </sect2>
-
- <sect2>
- <title>Getting Connected</title>
-
- <para>Currently there are four ways to connect to other IPv6 hosts and networks:</para>
-
- <itemizedlist>
- <listitem>
- <para>Getting an IPv6 network from your upstream provider. Talk to your
- Internet provider for instructions.</para>
- </listitem>
-
- <listitem>
- <para>Tunnel via 6-to-4 (<link xlink:href="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</link>)</para>
- </listitem>
-
- <listitem>
- <para>Use the <package>net/freenet6</package> port if you are on a dial-up connection.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>DNS in the IPv6 World</title>
-
- <para>There used to be two types of DNS records for IPv6. The IETF
- has declared A6 records obsolete. AAAA records are the standard
- now.</para>
-
- <para>Using AAAA records is straightforward. Assign your hostname to the new
- IPv6 address you just received by adding:</para>
-
- <programlisting>MYHOSTNAME AAAA MYIPv6ADDR</programlisting>
-
- <para>To your primary zone DNS file. In case you do not serve your own
- <acronym>DNS</acronym> zones ask your <acronym>DNS</acronym> provider.
- Current versions of <application>bind</application> (version 8.3 and 9)
- and <package>dns/djbdns</package> (with the IPv6 patch)
- support AAAA records.</para>
- </sect2>
-
- <sect2>
- <title>Applying the needed changes to <filename>/etc/rc.conf</filename></title>
-
- <sect3>
- <title>IPv6 Client Settings</title>
-
- <para>These settings will help you configure a machine that will be on
- your LAN and act as a client, not a router. To have &man.rtsol.8;
- autoconfigure your interface on boot all you need to add is:</para>
-
- <programlisting>ipv6_enable="YES"</programlisting>
-
- <para>To statically assign an IP address such as <systemitem>
- 2001:471:1f11:251:290:27ff:fee0:2093</systemitem>, to your
- <filename>fxp0</filename> interface, add:</para>
-
- <programlisting>ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"</programlisting>
-
- <para>To assign a default router of
- <systemitem>2001:471:1f11:251::1</systemitem>
- add the following to <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>ipv6_defaultrouter="2001:471:1f11:251::1"</programlisting>
-
- </sect3>
-
- <sect3>
- <title>IPv6 Router/Gateway Settings</title>
-
- <para>This will help you take the directions that your tunnel provider has
- given you and convert it into settings that will persist through reboots.
- To restore your tunnel on startup use something like the following in
- <filename>/etc/rc.conf</filename>:</para>
-
- <para>List the Generic Tunneling interfaces that will be configured, for
- example <filename>gif0</filename>:</para>
-
- <programlisting>gif_interfaces="gif0"</programlisting>
-
- <para>To configure the interface with a local endpoint of
- <replaceable>MY_IPv4_ADDR</replaceable> to a remote endpoint of
- <replaceable>REMOTE_IPv4_ADDR</replaceable>:</para>
-
- <programlisting>gifconfig_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting>
-
- <para>To apply the IPv6 address you have been assigned for use as your
- IPv6 tunnel endpoint, add:</para>
-
- <programlisting>ipv6_ifconfig_gif0="<replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
-
- <para>Then all you have to do is set the default route for IPv6. This is
- the other side of the IPv6 tunnel:</para>
-
- <programlisting>ipv6_defaultrouter="<replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
-
- </sect3>
-
- <sect3>
- <title>IPv6 Tunnel Settings</title>
-
- <para>If the server is to route IPv6 between the rest of your network
- and the world, the following <filename>/etc/rc.conf</filename>
- setting will also be needed:</para>
-
- <programlisting>ipv6_gateway_enable="YES"</programlisting>
-
- </sect3>
- </sect2>
-
- <sect2>
- <title>Router Advertisement and Host Auto Configuration</title>
-
- <para>This section will help you setup &man.rtadvd.8; to advertise the
- IPv6 default route.</para>
-
- <para>To enable &man.rtadvd.8; you will need the following in your
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>rtadvd_enable="YES"</programlisting>
-
- <para>It is important that you specify the interface on which to do
- IPv6 router solicitation. For example to tell &man.rtadvd.8; to use
- <filename>fxp0</filename>:</para>
-
- <programlisting>rtadvd_interfaces="fxp0"</programlisting>
-
- <para>Now we must create the configuration file,
- <filename>/etc/rtadvd.conf</filename>. Here is an example:</para>
-
- <programlisting>fxp0:\
- :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:</programlisting>
-
- <para>Replace <filename>fxp0</filename> with the interface you
- are going to be using.</para>
-
- <para>Next, replace <systemitem>2001:471:1f11:246::</systemitem>
- with the prefix of your allocation.</para>
-
- <para>If you are dedicated a <systemitem class="netmask">/64</systemitem> subnet
- you will not need to change anything else. Otherwise, you will need to
- change the <literal>prefixlen#</literal> to the correct value.</para>
-
- </sect2>
- </sect1>
-
- <sect1 xml:id="network-atm">
- <info><title>Asynchronous Transfer Mode (ATM)</title>
- <authorgroup>
- <author><personname><firstname>Harti</firstname><surname>Brandt</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect2>
- <title>Configuring classical IP over ATM (PVCs)</title>
-
- <para>Classical IP over ATM (<acronym>CLIP</acronym>) is the
- simplest method to use Asynchronous Transfer Mode (ATM)
- with IP. It can be used with
- switched connections (SVCs) and with permanent connections
- (PVCs). This section describes how to set up a network based
- on PVCs.</para>
-
- <sect3>
- <title>Fully meshed configurations</title>
-
- <para>The first method to set up a <acronym>CLIP</acronym> with
- PVCs is to connect each machine to each other machine in the
- network via a dedicated PVC. While this is simple to
- configure it tends to become impractical for a larger number
- of machines. The example supposes that we have four
- machines in the network, each connected to the <acronym role="Asynchronous Transfer Mode">ATM</acronym> network
- with an <acronym role="Asynchronous Transfer Mode">ATM</acronym> adapter card. The first step is the planning of
- the IP addresses and the <acronym role="Asynchronous Transfer Mode">ATM</acronym> connections between the
- machines. We use the following:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <thead>
- <row>
- <entry>Host</entry>
- <entry>IP Address</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>hostA</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.1</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.2</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostC</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.3</systemitem></entry>
- </row>
-
- <row>
- <entry><systemitem>hostD</systemitem></entry>
- <entry><systemitem class="ipaddress">192.168.173.4</systemitem></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>To build a fully meshed net we need one ATM connection
- between each pair of machines:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="1*"/>
- <thead>
- <row>
- <entry>Machines</entry>
- <entry>VPI.VCI couple</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostB</systemitem></entry>
- <entry>0.100</entry>
- </row>
-
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostC</systemitem></entry>
- <entry>0.101</entry>
- </row>
-
- <row>
- <entry><systemitem>hostA</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.102</entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem> - <systemitem>hostC</systemitem></entry>
- <entry>0.103</entry>
- </row>
-
- <row>
- <entry><systemitem>hostB</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.104</entry>
- </row>
-
- <row>
- <entry><systemitem>hostC</systemitem> - <systemitem>hostD</systemitem></entry>
- <entry>0.105</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>The VPI and VCI values at each end of the connection may
- of course differ, but for simplicity we assume that they are
- the same. Next we need to configure the ATM interfaces on
- each host:</para>
-
- <screen>hostA&prompt.root; <userinput>ifconfig hatm0 192.168.173.1 up</userinput>
-hostB&prompt.root; <userinput>ifconfig hatm0 192.168.173.2 up</userinput>
-hostC&prompt.root; <userinput>ifconfig hatm0 192.168.173.3 up</userinput>
-hostD&prompt.root; <userinput>ifconfig hatm0 192.168.173.4 up</userinput></screen>
-
- <para>assuming that the ATM interface is
- <filename>hatm0</filename> on all hosts. Now the PVCs
- need to be configured on <systemitem>hostA</systemitem> (we assume that
- they are already configured on the ATM switches, you need to
- consult the manual for the switch on how to do this).</para>
-
- <screen>hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr</userinput>
-hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr</userinput>
-hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr</userinput>
-
-hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr</userinput>
-hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr</userinput>
-hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr</userinput>
-
-hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr</userinput>
-hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr</userinput>
-hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr</userinput>
-
-hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr</userinput>
-hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr</userinput>
-hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</userinput></screen>
-
- <para>Of course other traffic contracts than UBR can be used
- given the ATM adapter supports those. In this case the name
- of the traffic contract is followed by the parameters of the
- traffic. Help for the &man.atmconfig.8; tool can be
- obtained with:</para>
-
- <screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
-
- <para>or in the &man.atmconfig.8; manual page.</para>
-
- <para>The same configuration can also be done via
- <filename>/etc/rc.conf</filename>.
- For <systemitem>hostA</systemitem> this would look like:</para>
-
-<programlisting>network_interfaces="lo0 hatm0"
-ifconfig_hatm0="inet 192.168.173.1 up"
-natm_static_routes="hostB hostC hostD"
-route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
-route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
-route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"</programlisting>
-
- <para>The current state of all <acronym>CLIP</acronym> routes
- can be obtained with:</para>
-
- <screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="carp">
- <info><title>Common Access Redundancy Protocol (CARP)</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>CARP</primary></indexterm>
- <indexterm><primary>Common Access Redundancy Protocol</primary></indexterm>
-
- <para>The Common Access Redundancy Protocol, or
- <acronym>CARP</acronym> allows multiple hosts to share the same
- <acronym>IP</acronym> address. In some configurations, this may
- be used for availability or load balancing. Hosts may use separate
- <acronym>IP</acronym> addresses as well, as in the example provided
- here.</para>
-
- <para>To enable support for <acronym>CARP</acronym>, the &os;
- kernel must be rebuilt with the following option:</para>
-
- <programlisting>device carp</programlisting>
-
- <para><acronym>CARP</acronym> functionality should now be available
- and may be tuned via several <command>sysctl</command>
- <acronym>OID</acronym>s. Devices themselves may be loaded via
- the <command>ifconfig</command> command:</para>
-
- <screen>&prompt.root; <userinput>ifconfig carp0 create</userinput></screen>
-
- <para>In a real environment, these interfaces will need unique
- identification numbers known as a <acronym>VHID</acronym>. This
- <acronym>VHID</acronym> or Virtual Host Identification will be
- used to distinguish the host on the network.</para>
-
- <sect2>
- <title>Using CARP For Server Availability (CARP)</title>
-
- <para>One use of <acronym>CARP</acronym>, as noted above, is for
- server availability. This example will provide failover support
- for three hosts, all with unique <acronym>IP</acronym>
- addresses and providing the same web content. These machines will
- act in conjunction with a Round Robin <acronym>DNS</acronym>
- configuration. The failover machine will have two additional
- <acronym>CARP</acronym> interfaces, one for each of the content
- server's <acronym>IP</acronym>s. When a failure occurs, the
- failover server should pick up the failed machine's
- <acronym>IP</acronym> address. This means the failure should
- go completely unnoticed to the user. The failover server
- requires identical content and services as the other content
- servers it is expected to pick up load for.</para>
-
- <para>The two machines should be configured identically other
- than their issued hostnames and <acronym>VHID</acronym>s.
- This example calls these machines
- <systemitem>hosta.example.org</systemitem> and
- <systemitem>hostb.example.org</systemitem> respectively. First, the
- required lines for a <acronym>CARP</acronym> configuration have
- to be added to <filename>rc.conf</filename>. For
- <systemitem>hosta.example.org</systemitem>, the
- <filename>rc.conf</filename> file should contain the following
- lines:</para>
-
- <programlisting>hostname="hosta.example.org"
-ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
-cloned_interfaces="carp0"
-ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24"</programlisting>
-
- <para>On <systemitem>hostb.example.org</systemitem> the following lines
- should be in <filename>rc.conf</filename>:</para>
-
- <programlisting>hostname="hostb.example.org"
-ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
-cloned_interfaces="carp0"
-ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"</programlisting>
-
- <note>
- <para>It is very important that the passwords, specified by the
- <option>pass</option> option to <command>ifconfig</command>,
- are identical. The <filename>carp</filename> devices will
- only listen to and accept advertisements from machines with the
- correct password. The <acronym>VHID</acronym> must also be
- different for each machine.</para>
- </note>
-
- <para>The third machine,
- <systemitem>provider.example.org</systemitem>, should be prepared so that
- it may handle failover from either host. This machine will require
- two <filename>carp</filename> devices, one to handle each
- host. The appropriate <filename>rc.conf</filename>
- configuration lines will be similar to the following:</para>
-
- <programlisting>hostname="provider.example.org"
-ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
-cloned_interfaces="carp0 carp1"
-ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
-ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"</programlisting>
-
- <para>Having the two <filename>carp</filename> devices will
- allow <systemitem>provider.example.org</systemitem> to notice and pick
- up the <acronym>IP</acronym> address of either machine should
- it stop responding.</para>
-
- <note>
- <para>The default &os; kernel <emphasis>may</emphasis> have
- preemption enabled. If so,
- <systemitem>provider.example.org</systemitem> may not relinquish the
- <acronym>IP</acronym> address back to the original content
- server. In this case, an administrator may
- <quote>nudge</quote> the interface. The following command
- should be issued on
- <systemitem>provider.example.org</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>ifconfig carp0 down &amp;&amp; ifconfig carp0 up</userinput></screen>
-
- <para>This should be done on the <filename>carp</filename>
- interface which corresponds to the correct host.</para>
- </note>
-
- <para>At this point, <acronym>CARP</acronym> should be completely
- enabled and available for testing. For testing, either networking has
- to be restarted or the machines need to be rebooted.</para>
-
- <para>More information is always available in the &man.carp.4;
- manual page.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/el_GR.ISO8859-7/books/handbook/audit/chapter.xml b/el_GR.ISO8859-7/books/handbook/audit/chapter.xml
deleted file mode 100644
index 0a81cffb15..0000000000
--- a/el_GR.ISO8859-7/books/handbook/audit/chapter.xml
+++ /dev/null
@@ -1,721 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Έλεγχος Συμβάντων Ασφαλείας
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/audit/chapter.xml
- %SRCID% 1.1
-
--->
-<!--
- 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 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit">
- <info><title>Έλεγχος Συμβάντων Ασφαλείας</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Γράφτηκε από τον </contrib></author>
- <author><personname><firstname>Robert</firstname><surname>Watson</surname></personname></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml: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>
- </listitem>
- </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 xml: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 xml: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 xml:id="audit-config">
- <title>Audit Configuration</title>
-
- <para>All configuration files for security audit are found in
- <filename>/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 xml: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 xml: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 xml: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
- <systemitem class="username">trhodes</systemitem> stored in the
- <filename>AUDITFILE</filename> file.</para>
- </sect2>
-
- <sect2>
- <title>Delegating Audit Review Rights</title>
-
- <para>Members of the <systemitem class="groupname">audit</systemitem> group are given
- permission to read audit trails in <filename>/var/audit</filename>;
- by default, this group is empty, so only the <systemitem class="username">root</systemitem> user may read
- audit trails. Users may be added to the <systemitem class="groupname">audit</systemitem>
- 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
- <systemitem class="username">root</systemitem> user. To make them accessible to the members of the
- <systemitem class="groupname">audit</systemitem> 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>
diff --git a/el_GR.ISO8859-7/books/handbook/basics/chapter.xml b/el_GR.ISO8859-7/books/handbook/basics/chapter.xml
deleted file mode 100644
index 8efdb1e4f5..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/chapter.xml
+++ /dev/null
@@ -1,2875 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Βασικές Έννοιες στο Unix
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/basics/chapter.xml
- %SRCID% 38826
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
- <info><title>Βασικές Έννοιες στο &unix;</title>
- <authorgroup>
- <author><personname><firstname>Chris</firstname><surname>Shumway</surname></personname><contrib>Αναθεωρημένο από τον </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="basics-synopsis">
- <title>Σύνοψη</title>
-
- <para>Το ακόλουθο κεφάλαιο θα καλύψει τις βασικές εντολές και
- λειτουργίες του λειτουργικού συστήματος &os;. Το μεγαλύτερο μέρος
- αυτής της ύλης σχετίζεται με όλα τα Λ.Σ. που είναι βασισμένα
- στο &unix;. Εάν η ύλη σας φαίνεται οικεία μπορείτε να διατρέξετε
- γρήγορα αυτό το κεφάλαιο. Εάν - αντιθέτως - είστε νέος στο &os;
- τότε οπωσδήποτε θα πρέπει να διαβάσετε προσεκτικά ολόκληρο το
- κεφάλαιο.</para>
-
- <para>Μετά την ανάγνωση του κεφαλαίου, θα γνωρίζετε:</para>
-
- <itemizedlist>
- <listitem>
- <para>Πως να χρησιμοποιείτε τις <quote>εικονικές κονσόλες</quote> του
- &os;.</para>
- </listitem>
-
- <listitem>
- <para>Πως λειτουργούν οι άδειες αρχείων στο &unix; και
- θα καταλάβετε την χρήση των file flags στο &os;.</para>
- </listitem>
-
- <listitem>
- <para>Την προεπιλεγμένη διάταξη του συστήματος αρχείων του
- &os;.</para>
- </listitem>
-
- <listitem>
- <para>Την οργάνωση των δίσκων στο &os;.</para>
- </listitem>
-
- <listitem>
- <para>Τι είναι και πώς λειτουργεί η προσάρτηση (mount) και
- αποπροσάρτηση (unmount) συστημάτων αρχείων.</para>
- </listitem>
-
- <listitem>
- <para>Τι είναι οι διεργασίες (processes), τα σήματα (signals) και
- οι δαίμονες (daemons).</para>
- </listitem>
-
- <listitem>
- <para>Τι είναι το κέλυφος (shell) και πως να αλλάζετε το προεπιλεγμένο
- περιβάλλον εργασίας.</para>
- </listitem>
-
- <listitem>
- <para>Πως να χρησιμοποιείτε βασικά προγράμματα επεξεργασίας κειμένου
- (editors).</para>
- </listitem>
-
- <listitem>
- <para>Τι είναι οι συσκευές (devices) και τα αρχεία συσκευής (device
- nodes).</para>
- </listitem>
-
- <listitem>
- <para>Ποια έκδοση εκτελέσιμων χρησιμοποιείται στο &os;.</para>
- </listitem>
-
- <listitem>
- <para>Πως να διαβάζετε τις σελίδες βοηθείας (manual pages) για
- περισσότερες πληροφορίες.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="consoles">
- <title>Εικονικές Κονσόλες και Τερματικά </title>
- <indexterm><primary>εικονικές κονσόλες</primary></indexterm>
- <indexterm><primary>τερματικά</primary></indexterm>
-
- <para>Μπορείτε να χειριστείτε το &os; με διάφορους τρόπους. Ένας από
- αυτούς, είναι πληκτρολογώντας εντολές κειμένου σε ένα τερματικό. Με
- αυτό τον τρόπο έχετε στα χέρια σας ένα ευέλικτο και δυνατό λειτουργικό
- σύστημα &unix;. Αυτή η ενότητα περιγράφει τι είναι τα
- <quote>τερματικά</quote> και οι <quote>κονσόλες</quote> και πως μπορούν
- να χρησιμοποιηθούν στο &os;.</para>
-
- <sect2 xml:id="consoles-intro">
- <title>Η Κονσόλα</title>
- <indexterm><primary>κονσόλα</primary></indexterm>
-
- <para>Εάν δεν έχετε ρυθμίσει το &os; να ξεκινά αυτόματα κάποιο γραφικό
- περιβάλλον εργασίας, τότε αμέσως μετά την εκκίνηση του συστήματος και
- την ολοκλήρωση των σεναρίων εκκίνησης (startup scripts) θα εμφανιστεί
- η προτροπή σύνδεσης (login prompt). Θα δείτε κάτι παρόμοιο στην οθόνη
- σας:</para>
-
- <screen>Additional ABI support:.
-Local package initialization:.
-Additional TCP options:.
-
-Fri Sep 20 13:01:06 EEST 2002
-
-FreeBSD/i386 (pc3.example.org) (ttyv0)
-
-login:</screen>
-
- <para>Το μήνυμα μπορεί να είναι λίγο διαφορετικό στο σύστημα σας, αλλά
- δεν πρέπει να διαφέρει κατά πολύ. Θα εστιάσουμε την προσοχή μας στις
- τελευταίες δύο γραμμές. Η προτελευταία γραμμή αναφέρει:</para>
-
- <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
-
- <para>Αυτή η γραμμή περιέχει μερικές πληροφορίες για το σύστημα που
- μόλις εκκινήσατε. Έχετε μπροστά σας μια κονσόλα
- <quote>FreeBSD</quote>, που τρέχει με επεξεργαστή αρχιτεκτονικής x86
- της Intel ή άλλον συμβατό
-
- <footnote>
- <para>Αυτό ακριβώς σημαίνει το <literal>i386</literal>. Ακόμη και
- αν δεν χρησιμοποιείτε επεξεργαστή Intel 386 CPU στο &os; σύστημα
- σας, θα εμφανίζεται το <literal>i386</literal>. Αυτή είναι η
- <quote>αρχιτεκτονική</quote>, κατασκευής του επεξεργαστή και όχι
- το μοντέλο του επεξεργαστή.</para>
- </footnote>.
-
- Το όνομα αυτής της μηχανής (όλες οι μηχανές &unix; έχουν κάποιο
- όνομα) είναι <systemitem>pc3.example.org</systemitem>, και έχετε ανοικτό
- μπροστά σας το τερματικό <filename>ttyv0</filename> &mdash;
- κονσόλα του συστήματος.</para>
-
- <para>Ολοκληρώνοντας, η τελευταία γραμμή είναι πάντα:</para>
-
- <programlisting>login:</programlisting>
-
- <para>Σε αυτό το μέρος θα πρέπει να πληκτρολογήσετε το <quote>όνομα
- χρήστη</quote> (username) για να συνδεθείτε στο &os;. Στην επόμενη
- ενότητα θα περιγράψουμε ακριβώς αυτήν την διαδικασία.</para>
- </sect2>
-
- <sect2 xml:id="consoles-login">
- <title>Εισαγωγή Χρήστη στο Σύστημα &os;</title>
-
- <para>Το &os; είναι ένα σύστημα πολυχρηστικό (multiuser) και
- πολυεπεξεργαστικό (multiprocessing). Αυτός είναι ο ακαδημαϊκός
- ορισμός που δίνεται συνήθως σε ένα σύστημα που μπορεί να
- χρησιμοποιείται από πολλούς διαφορετικούς ανθρώπους, ενώ ταυτόχρονα
- τρέχουν διαφορετικά προγράμματα στην ίδια μηχανή.</para>
-
- <para>Κάθε σύστημα multiuser χρειάζεται κάποιους τρόπους ώστε να
- ξεχωρίζει κάθε <quote>χρήστη</quote> από τους υπολοίπους. Στο &os;
- (όπως και σε όλα τα Λ.Σ. που βασίζονται στο &unix;), αυτό
- επιτυγχάνεται απαιτώντας κάθε χρήστης να <quote>είναι συνδεδεμένος
- (log in)</quote> πριν να μπορεί να τρέξει προγράμματα. Κάθε χρήστης
- έχει ξεχωριστό όνομα (το <quote>όνομα χρήστη ή username</quote>) και
- μία προσωπική δικλείδα ασφαλείας, (τον <quote>κωδικό πρόσβασης ή
- password</quote>). Αυτά θα ζητηθούν από το &os; σε κάθε χρήστη πριν
- να του επιτραπεί να τρέξει οποιαδήποτε εφαρμογή.</para>
-
- <indexterm><primary>startup scripts</primary></indexterm>
-
- <para>Αμέσως μετά την ολοκλήρωση των διεργασιών εκκίνησης του &os; και
- των σεναρίων εκκίνησης (startup scripts)
-
- <footnote>
- <para>Τα σενάρια εκκίνησης (startup scripts) είναι προγράμματα που
- τρέχουν αυτόματα κατά την εκκίνηση του &os;. Η κύρια λειτουργία
- τους είναι να βοηθούν στην σωστή λειτουργία όλων των συστατικών
- του συστήματος, και να ξεκινούν όλες τις υπηρεσίες που έχετε
- ρυθμίσει να τρέχουν στο παρασκήνιο.</para>
- </footnote>,
-
- θα εμφανιστεί το σύμβολο της προτροπής (prompt) και θα σας ζητηθεί ένα
- έγκυρο όνομα χρήστη:</para>
-
- <screen>login:</screen>
-
- <para>Για παράδειγμα, ας υποθέσουμε πως το όνομα χρήστη σας είναι
- <systemitem class="username">john</systemitem>. Πληκτρολογήστε <literal>john</literal>
- στην προτροπή και πατήστε <keycap>Enter</keycap>. Θα ακολουθήσει μια
- νέα προτροπή για να δώσετε τον
- <quote>κωδικό πρόσβασης (password)</quote>:</para>
-
- <screen>login: <userinput>john</userinput>
-Password:</screen>
-
- <para>Πληκτρολογήστε τώρα τον κωδικό πρόσβασης του
- <systemitem class="username">john</systemitem>, και πατήστε <keycap>Enter</keycap>. Ο
- κωδικός πρόσβασης <emphasis>δεν είναι ορατός!</emphasis> Δεν
- χρειάζεται να ανησυχείτε για αυτό. Είναι επαρκές να πούμε πως αυτό
- συμβαίνει για λόγους ασφαλείας.</para>
-
- <para>Αν έχετε πληκτρολογήσει σωστά τον κωδικό πρόσβασης, τότε έχετε
- συνδεθεί στο &os; και είστε έτοιμοι να δοκιμάσετε όλες τις διαθέσιμες
- εντολές &unix;.</para>
-
- <para>Πρέπει να δείτε το <acronym>MOTD</acronym> ή αλλιώς το ημερήσιο
- μήνυμα και στη συνέχεια την προτροπή εντολής (ένα
- χαρακτήρα <literal>#</literal>, <literal>$</literal>, ή
- <literal>%</literal>). Αυτό σημαίνει πως έχετε συνδεθεί επιτυχώς στο
- &os;.</para>
- </sect2>
-
- <sect2 xml:id="consoles-virtual">
- <title>Πολλαπλές Κονσόλες</title>
-
- <para>Η εκτέλεση εντολών &unix; σε μία μόνο κονσόλα μπορεί να είναι
- ικανοποιητική, αλλά το &os; μπορεί να τρέχει ταυτόχρονα πολλά
- προγράμματα. Η ύπαρξη μίας μόνο κονσόλας για πληκτρολόγηση εντολών
- θα ήταν πραγματικά ελλιπής για ένα Λ.Σ. όπως το &os; που μπορεί να
- τρέχει ταυτόχρονα δεκάδες προγράμματα. Εδώ είναι που χρειάζονται οι
- <quote>εικονικές κονσόλες</quote>.</para>
-
- <para>Το &os; μπορεί να ρυθμιστεί κατάλληλα ώστε να παρουσιάζεται με
- διάφορες εικονικές κονσόλες. Η εναλλαγή από μία εικονική κονσόλα
- σε οποιαδήποτε άλλη μπορεί να γίνει πατώντας μερικά πλήκτρα στο
- πληκτρολόγιο. Η κάθε κονσόλα έχει το δικό της κανάλι εξόδου, και
- καθώς εναλλάσσετε εικονικές κονσόλες το &os; αποθηκεύει και επαναφέρει
- προσεκτικά το αντίστοιχο πληκτρολόγιο και οθόνη για κάθε κονσόλα σαν
- να υπήρχε πραγματική εναλλαγή.</para>
-
- <para>Συνδυασμοί ειδικών πλήκτρων χρησιμοποιούνται από το &os; για την
- εναλλαγή κονσολών
-
- <footnote>
- <para>Για όλες τις τεχνικές λεπτομέρειες και ακριβείς περιγραφές
- των οδηγών (drivers) που χρησιμοποιούνται στο &os; για κονσόλες
- και πληκτρολόγια μπορείτε να βρείτε στις σελίδες &man.syscons.4;,
- &man.atkbd.4;, &man.vidcontrol.1; και &man.kbdcontrol.1;
- των σελίδων βοήθειας (manual pages). Δεν θα συνεχίσουμε
- περαιτέρω, αλλά ο ενδιαφερόμενος αναγνώστης μπορεί να
- συμβουλεύεται πάντα τις σελίδες βοηθείας για περισσότερο
- λεπτομερή και ολοκληρωμένη επεξήγηση των λειτουργιών.</para>
- </footnote>.
-
- Μπορείτε να χρησιμοποιήσετε
- <keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
- <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,έως
- <keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> για να
- μεταβείτε στις διάφορες εικονικές κονσόλες του &os;.</para>
-
- <para>Καθώς εναλλάσσεστε από τη μία κονσόλα στην άλλη, το &os;
- αποθηκεύει και επαναφέρει προσεκτικά την αντίστοιχη οθόνη. Το
- αποτέλεσμα είναι ένα <quote>οπτικό τρικ</quote> σαν να είχαμε
- πολλαπλές <quote>εικονικές</quote> οθόνες και πληκτρολόγια που θα
- μπορούσαμε να χρησιμοποιήσουμε για να τρέχουμε εντολές στο &os;.
- Τα προγράμματα που τρέχετε από μια κονσόλα δεν σταματούν να
- λειτουργούν όταν η κονσόλα δεν είναι ορατή. Συνεχίζουν να τρέχουν κι
- όταν βρίσκεστε σε διαφορετική κονσόλα.</para>
- </sect2>
-
- <sect2 xml:id="consoles-ttys">
- <title>Το Αρχείο <filename>/etc/ttys</filename></title>
-
- <para>Η εξ' ορισμού ρύθμιση του &os; θα ξεκινήσει με οκτώ εικονικές
- κονσόλες. Δεν πρόκειται για μια πολύπλοκη ρύθμιση και μπορείτε εύκολα
- να την αλλάξετε ώστε να φορτώνονται περισσότερες ή λιγότερες εικονικές
- κονσόλες κατά την εκκίνηση. Το πλήθος και η παραμετροποίηση των
- εικονικών κονσολών ρυθμίζεται στο αρχείο
- <filename>/etc/ttys</filename>.</para>
-
- <para>Μπορείτε να χρησιμοποιήσετε το αρχείο
- <filename>/etc/ttys</filename> για να ρυθμίσετε τις εικονικές κονσόλες
- στο &os;. Κάθε γραμμή του αρχείου που δεν είναι σχόλιο (οι γραμμές
- που δεν ξεκινούν με τον χαρακτήρα <literal>#</literal>) περιέχουν
- ρυθμίσεις για ένα τερματικό ή για μια εικονική κονσόλα. Η
- προκαθορισμένη έκδοση του αρχείου, η οποία περιέχεται στην διανομή
- &os;, περιέχει εννέα εικονικές κονσόλες, εκ των οποίων οι οκτώ είναι
- ενεργοποιημένες. Είναι στις γραμμές που ξεκινούν με
- <literal>ttyv</literal>:</para>
-
- <programlisting># name getty type status comments
-#
-ttyv0 "/usr/libexec/getty Pc" cons25 on secure
-# Virtual terminals
-ttyv1 "/usr/libexec/getty Pc" cons25 on secure
-ttyv2 "/usr/libexec/getty Pc" cons25 on secure
-ttyv3 "/usr/libexec/getty Pc" cons25 on secure
-ttyv4 "/usr/libexec/getty Pc" cons25 on secure
-ttyv5 "/usr/libexec/getty Pc" cons25 on secure
-ttyv6 "/usr/libexec/getty Pc" cons25 on secure
-ttyv7 "/usr/libexec/getty Pc" cons25 on secure
-ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
-
- <para>Για μια λεπτομερή περιγραφή κάθε στήλης του αρχείου και όλων των
- ρυθμίσεων που μπορούν να εφαρμοστούν για τις εικονικές κονσόλες
- συμβουλευτείτε την σελίδα βοηθείας &man.ttys.5;.</para>
- </sect2>
-
- <sect2 xml:id="consoles-singleuser">
- <title>Κονσόλα σε Κατάσταση Ενός Χρήστη</title>
-
- <para>Μπορείτε να βρείτε μια λεπτομερή περιγραφή για το τι είναι
- <quote>κατάσταση ενός χρήστη</quote> στην ενότητα
- <xref linkend="boot-singleuser"/>. Αξίζει να αναφέρουμε πως υπάρχει
- ενεργή μόνο μία κονσόλα όταν τρέχετε το &os; σε κατάσταση ενός
- χρήστη. Δεν υπάρχουν διαθέσιμες εικονικές κονσόλες. Στο
- αρχείο <filename>/etc/ttys</filename> μπορείτε να βρείτε τις
- ρυθμίσεις σε κατάσταση ενός χρήστη. Αναζητήστε την γραμμή που ξεκινά
- με <literal>console</literal>:</para>
-
- <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 secure</programlisting>
-
- <note>
- <para>Όπως αναφέρουν τα σχόλια πάνω από το <literal>console</literal>,
- μπορείτε να επεξεργαστείτε αυτήν τη γραμμή και να αντικαταστήσετε
- την λέξη <literal>secure</literal> με <literal>insecure</literal>.
- Σε αυτή την περίπτωση κατά την εκκίνηση του &os; σε κατάσταση ενός
- χρήστη, θα σας ζητηθεί ο κωδικός πρόσβασης του υπερχρήστη
- <systemitem class="username">root</systemitem>.</para>
-
- <para><emphasis>Προσέχετε όταν κάνετε την μετατροπή σε
- <literal>insecure</literal></emphasis>. Εάν τύχει να ξεχάσετε τον
- κωδικό πρόσβασης του <systemitem class="username">root</systemitem>, η πρόσβαση σε
- κατάσταση λειτουργίας ενός χρήστη μπορεί να γίνει δύσβατη. Υπάρχει
- ακόμη τρόπος να κάνετε εκκίνηση, αλλά ίσως να είναι δύσκολο για
- κάποιον που δεν γνωρίζει πολλά για τις διεργασίες και τα
- προγράμματα εκκίνησης του &os;.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="consoles-vidcontrol">
- <title>Αλλάζοντας την Ανάλυση (video mode) της Κονσόλας</title>
-
- <para>Η προεπιλεγμένη απεικόνιση της κονσόλας στο &os; μπορεί να
- ρυθμιστεί σε ανάλυση 1024x768, 1280x1024, ή σε οποιοδήποτε άλλο
- μέγεθος υποστηρίζεται από την κάρτα γραφικών και την οθόνη σας. Για
- να χρησιμοποιήσετε διαφορετική ανάλυση, θα πρέπει πρώτα από όλα να
- επαναμεταγλωττίσετε τον πυρήνα σας, και να συμπεριλάβετε τις παρακάτω
- δύο επιλογές:</para>
-
- <programlisting>options VESA
-options SC_PIXEL_MODE</programlisting>
-
- <para>Μετά τη μεταγλώττιση του πυρήνα με τις παραπάνω δύο επιλογές,
- μπορείτε να βρείτε ποιες αναλύσεις υποστηρίζονται από το υλικό σας,
- χρησιμοποιώντας το βοηθητικό πρόγραμμα &man.vidcontrol.1;. Για να
- δείτε μια λίστα από τις υποστηριζόμενες αναλύσεις, δώστε την ακόλουθη
- εντολή:</para>
-
- <screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
-
- <para>Η έξοδος της εντολής αυτής, είναι μια λίστα από αναλύσεις οθόνης
- που υποστηρίζονται από το υλικό σας. Μπορείτε έπειτα να επιλέξετε
- μια νέα ανάλυση, δίνοντας την ως όρισμα στην &man.vidcontrol.1; σε
- μια κονσόλα που έχετε συνδεθεί ως <systemitem class="username">root</systemitem>:</para>
-
- <screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
-
- <para>Αν η νέα ανάλυση γίνει δεκτή, μπορείτε να την ορίσετε ως
- προεπιλεγμένη για κάθε εκκίνηση, με την κατάλληλη ρύθμιση στο αρχείο
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>allscreens_flags="MODE_279"</programlisting>
- </sect2>
- </sect1>
-
- <sect1 xml:id="permissions">
- <title>Άδειες (Permissions)</title>
- <indexterm><primary>UNIX</primary></indexterm>
-
- <para>Το &os; είναι απόγονος του BSD &unix;, και για αυτό το λόγο
- βασίζεται σε μερικές έννοιες κλειδιά του &unix;. Η πρώτη και πιο
- σημαντική είναι πως το &os; είναι ένα πολυχρηστικό (multiuser)
- λειτουργικό σύστημα. Το σύστημα μπορεί να εξυπηρετήσει πολλούς χρήστες
- που εργάζονται ταυτόχρονα και σε εντελώς ανεξάρτητες εφαρμογές.
- Το σύστημα είναι υπεύθυνο για τον σωστό διαμοιρασμό και τις ανάγκες
- διαχείρισης συσκευών hardware, περιφερειακών, μνήμης, και την σωστή
- κατανομή των πόρων της CPU για κάθε χρήστη.</para>
-
- <para>Επειδή το σύστημα έχει την ικανότητα να εξυπηρετεί πολλούς χρήστες,
- σε οτιδήποτε διαχειρίζεται, υπάρχει μια ομάδα αδειών που ορίζει ποιος
- μπορεί να διαβάσει, να γράψει και να εκτελέσει αυτούς τους πόρους. Οι
- άδειες αποθηκεύονται σε οκτάδες διαχωρισμένες σε τρία μέρη, ένα για τον
- ιδιοκτήτη του αρχείου, ένα για την ομάδα στην οποία ανήκει το αρχείο,
- και ένα μέρος για όλους τους άλλους. Στη συνέχεια παρουσιάζεται πίνακας
- με τις αντιστοιχίες μεταξύ των ομάδων αδειών και των αριθμητικών τους
- τιμών.</para>
-
- <indexterm><primary>άδειες</primary></indexterm>
- <indexterm>
- <primary>άδειες αρχείων</primary>
- </indexterm>
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Τιμή</entry>
- <entry>Άδεια</entry>
- <entry>Εμφάνιση σε περιεχόμενα καταλόγων</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>0</entry>
- <entry>Ανάγνωση:όχι, Εγγραφή:όχι, Εκτέλεση:όχι</entry>
- <entry><literal>---</literal></entry>
- </row>
-
- <row>
- <entry>1</entry>
- <entry>Ανάγνωση:όχι, Εγγραφή:όχι, Εκτέλεση:ναι</entry>
- <entry><literal>--x</literal></entry>
- </row>
-
- <row>
- <entry>2</entry>
- <entry>Ανάγνωση:όχι, Εγγραφή:ναι, Εκτέλεση:όχι</entry>
- <entry><literal>-w-</literal></entry>
- </row>
-
- <row>
- <entry>3</entry>
- <entry>Ανάγνωση:όχι, Εγγραφή:ναι, Εκτέλεση:ναι</entry>
- <entry><literal>-wx</literal></entry>
- </row>
-
- <row>
- <entry>4</entry>
- <entry>Ανάγνωση:ναι, Εγγραφή:όχι, Εκτέλεση:όχι</entry>
- <entry><literal>r--</literal></entry>
- </row>
-
- <row>
- <entry>5</entry>
- <entry>Ανάγνωση:ναι, Εγγραφή:όχι, Εκτέλεση:ναι</entry>
- <entry><literal>r-x</literal></entry>
- </row>
-
- <row>
- <entry>6</entry>
- <entry>Ανάγνωση:ναι, Εγγραφή:ναι, Εκτέλεση:όχι</entry>
- <entry><literal>rw-</literal></entry>
- </row>
-
- <row>
- <entry>7</entry>
- <entry>Ανάγνωση:ναι, Εγγραφή:ναι, Εκτέλεση:ναι</entry>
- <entry><literal>rwx</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <indexterm>
- <primary><command>ls</command></primary>
- </indexterm>
- <indexterm><primary>directories</primary></indexterm>
-
- <para>Μπορείτε να χρησιμοποιήσετε την εντολή &man.ls.1; με πρόθεμα
- <option>-l</option> στην γραμμή εντολών για να δείτε τα περιεχόμενα
- καταλόγου και παρατηρήστε πως περιέχεται μια στήλη με τις άδειες των
- αρχείων για τον ιδιοκτήτη, την ομάδα, και για όλους τους άλλους. Για
- παράδειγμα, αν δώσουμε <command>ls -l</command> σε ένα τυχαίο
- κατάλογο:</para>
-
- <screen>&prompt.user; <userinput>ls -l</userinput>
-total 530
--rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
--rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
--rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
-...</screen>
-
- <para>Η πρώτη στήλη που παίρνουμε με την εντολή <command>ls -l</command>
- διαχωρίζεται ως εξής:</para>
-
- <screen>-rw-r--r--</screen>
-
- <para>Ο πρώτος χαρακτήρας (από τα αριστερά) μας ενημερώνει αν πρόκειται
- για ένα κανονικό αρχείο, κατάλογο, ειδική συσκευή χαρακτήρων,
- υποδοχέα (socket), ή οποιαδήποτε άλλo αρχείο ψευδο-συσκευής. Στην
- περίπτωση μας, το <literal>-</literal> υποδηλώνει ένα κανονικό αρχείο.
- Οι ακόλουθοι τρεις χαρακτήρες, στο παράδειγμα μας,
- <literal>rw-</literal>, ορίζουν τις άδειες για τον ιδιοκτήτη του
- αρχείου. Οι τρεις επόμενοι χαρακτήρες, <literal>r--</literal>, ορίζουν
- τις άδειες για την ομάδα στην οποία ανήκει το αρχείο. Οι τελευταίοι
- τρεις χαρακτήρες, <literal>r--</literal>, ορίζουν τις άδειες για τον
- υπόλοιπο κόσμο. Η παύλα σημαίνει πως η άδεια είναι απενεργοποιημένη.
- Στην περίπτωση του αρχείου μας, οι άδειες έχουν οριστεί ώστε ο
- ιδιοκτήτης να μπορεί να διαβάζει και να γράφει στο αρχείο, η ομάδα να
- μπορεί να διαβάσει το αρχείο, και ο υπόλοιπος κόσμος να μπορεί μόνο να
- διαβάσει το αρχείο. Σύμφωνα με τον παραπάνω πίνακα, οι άδειες για αυτό
- το αρχείο είναι <literal>644</literal>, όπου καθένα από τα τρία ψηφία
- παρουσιάζει το αντίστοιχο μέρος αδειών του αρχείου.</para>
-
- <para>Μέχρι εδώ είναι όλα καλά, αλλά όμως πως το σύστημα ελέγχει τις
- άδειες συσκευών; Το &os; μεταχειρίζεται τις περισσότερες συσκευές σαν
- ένα αρχείο το οποίο τα προγράμματα μπορούν να ανοίξουν, να διαβάσουν
- και να γράψουν σε αυτό σαν να ήταν ένα οποιοδήποτε αρχείο. Αυτά τα
- ειδικά αρχεία συσκευών αποθηκεύονται στον κατάλογο
- <filename>/dev</filename>.</para>
-
- <para>Το σύστημα μεταχειρίζεται επίσης και τους καταλόγους ως αρχεία.
- Έχουν άδειες ανάγνωσης, εγγραφής και εκτέλεσης. Το bit που ορίζει την
- εκτέλεση στους καταλόγους έχει ελαφρώς διαφορετικό νόημα από ότι στα
- αρχεία. Όταν ένας κατάλογος έχει οριστεί εκτελέσιμος, σημαίνει πως
- είναι προσπελάσιμος, δηλαδή είναι επιτρεπτό να περάσουμε σε ένα
- υποκατάλογο του (να κάνουμε <quote>cd</quote>). Αυτό επίσης σημαίνει
- πως επιτρέπεται η πρόσβαση σε όλα τα γνωστά (αυτό έχει να κάνει με τις
- άδειες των ίδιων των αρχείων) αρχεία.</para>
-
- <para>Ειδικότερα, για να εμφανίζονται τα περιεχόμενα καταλόγου πρέπει να
- έχει τεθεί άδεια ανάγνωσης (read) στον κατάλογο, ενώ για να διαγραφεί
- ένα αρχείο του οποίου γνωρίζετε το όνομα είναι αναγκαίο να έχουν δοθεί
- οι άδειες εγγραφής (write) <emphasis>και </emphasis> εκτέλεσης (execute)
- στον κατάλογο που περιέχει το αρχείο.</para>
-
- <para>Υπάρχουν κι άλλα bit αδειών, αλλά χρησιμοποιούνται κυρίως σε
- ειδικές περιπτώσεις όπως σε setuid binaries και sticky directories. Αν
- θέλετε περισσότερες πληροφορίες για τις άδειες αρχείων και πως να τις
- ορίζετε, συμβουλευτείτε οπωσδήποτε την σελίδα manual
- &man.chmod.1;.</para>
-
- <sect2>
- <info><title>Συμβολικές Άδειες</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Συνεισφορά του </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>&gt;άδειες</primary><secondary>συμβολικές</secondary></indexterm>
-
- <para>Οι συμβολικές άδειες, μερικές φορές αναφέρονται και ως συμβολικές
- εκφράσεις, χρησιμοποιούν χαρακτήρες στην θέση των οκτώ τιμών για να
- θέτουν άδειες σε αρχεία ή καταλόγους. Οι συμβολικές εκφράσεις
- χρησιμοποιούν την σύνταξη (ποιος) (ενέργεια) (άδειες), όπου είναι
- διαθέσιμες οι ακόλουθες τιμές:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Επιλογή</entry>
- <entry>Γράμμα</entry>
- <entry>Σημαίνει</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>(ποιος)</entry>
- <entry>u</entry>
- <entry>User (Χρήστης)</entry>
- </row>
-
- <row>
- <entry>(ποιος)</entry>
- <entry>g</entry>
- <entry>Group owner (Ομάδα που ανήκει)</entry>
- </row>
-
- <row>
- <entry>(ποιος)</entry>
- <entry>o</entry>
- <entry>Other (Υπόλοιποι χρήστες)</entry>
- </row>
-
- <row>
- <entry>(ποιος)</entry>
- <entry>a</entry>
- <entry>All (όλοι, <quote>world</quote>)</entry>
- </row>
-
- <row>
- <entry>(ενέργεια)</entry>
- <entry>+</entry>
- <entry>Πρόσθεση αδειών</entry>
- </row>
-
- <row>
- <entry>(ενέργεια)</entry>
- <entry>-</entry>
- <entry>Αφαίρεση αδειών</entry>
- </row>
-
- <row>
- <entry>(ενέργεια)</entry>
- <entry>=</entry>
- <entry>Άμεσος ορισμός αδειών</entry>
- </row>
-
- <row>
- <entry>(άδειες)</entry>
- <entry>r</entry>
- <entry>Read (Ανάγνωση)</entry>
- </row>
-
- <row>
- <entry>(άδειες)</entry>
- <entry>w</entry>
- <entry>Write (Εγγραφή)</entry>
- </row>
-
- <row>
- <entry>(άδειες)</entry>
- <entry>x</entry>
- <entry>Execute (Εκτέλεση)</entry>
- </row>
-
- <row>
- <entry>(άδειες)</entry>
- <entry>t</entry>
- <entry>Sticky bit</entry>
- </row>
-
- <row>
- <entry>(άδειες)</entry>
- <entry>s</entry>
- <entry>Set UID ή GID</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Οι τιμές εισάγονται με την εντολή &man.chmod.1; όπως πριν, αλλά
- με γράμματα. Για παράδειγμα, θα μπορούσατε να χρησιμοποιήσετε την
- ακόλουθη εντολή για να απαγορεύσετε σε άλλους χρήστες την πρόσβαση στο
- <replaceable>FILE</replaceable>:</para>
-
- <screen>&prompt.user; <userinput>chmod go= FILE</userinput></screen>
-
- <para>Μπορούν να γίνουν πάνω από μία αλλαγές στις άδειες ενός αρχείου
- ταυτόχρονα διαχωρίζοντας τις αλλαγές με κόμμα. Για παράδειγμα, η
- ακόλουθη εντολή θα αφαιρέσει στην ομάδα και στον
- <quote>υπόλοιπο κόσμο</quote> την άδεια εγγραφής, και στη συνέχεια θα
- προσθέσει άδεια εκτέλεσης σε όλους.</para>
-
- <screen>&prompt.user; <userinput>chmod go-w,a+x FILE</userinput></screen>
-
-<!--
- <para>Οι περισσότεροι χρήστες δεν θα το προσέξουν, αλλά θα πρέπει να
- σημειώσουμε ότι χρησιμοποιώντας την μέθοδο των οκτάδων το μόνο που
- κάνουμε είναι να τίθονται άδειες σε αρχεία. Δεν προσθέτουμε, ούτε
- σβήνουμε.</para>
--->
- </sect2>
-
- <sect2>
- <info><title>&os; File Flags</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Συνεισφορά του </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Πέρα από τις άδειες αρχείων που συζητήθηκαν πριν από λίγο, το &os;
- υποστηρίζει την χρήση των <quote>file flags.</quote> Αυτά τα flags
- προσθέτουν ένα επιπρόσθετο επίπεδο ασφαλείας και ελέγχου σε αρχεία,
- αλλά όχι σε καταλόγους.</para>
-
- <para>Αυτά τα flags προσθέτουν ένα πρόσθετο επίπεδο ελέγχου σε αρχεία,
- διασφαλίζοντας μας πως σε κάποιες περιπτώσεις ακόμη κι ο
- <systemitem class="username">root</systemitem> να μην μπορεί να διαγράψει ή να μετατρέψει
- αρχεία.</para>
-
- <para>Η μετατροπή των file flags γίνεται με την &man.chflags.1;,
- χρησιμοποιώντας μια απλή διασύνδεση. Για παράδειγμα, για να
- ενεργοποιήσουμε το flag του συστήματος μη διαγραφής αρχείου στο
- αρχείο <filename>file1</filename>, δίνουμε την ακόλουθη εντολή:</para>
-
- <screen>&prompt.root; <userinput>chflags sunlink file1</userinput></screen>
-
- <para>Για να απενεργοποιήσουμε το flag του συστήματος μη διαγραφής
- αρχείου, απλά δίνουμε την προηγούμενη εντολή με <quote>no</quote>
- μπροστά από το <option>sunlink</option>. Παρατηρήστε:</para>
-
- <screen>&prompt.root; <userinput>chflags nosunlink file1</userinput></screen>
-
- <para>Για να δείτε τα flags ενός αρχείου, χρησιμοποιήστε την εντολή
- &man.ls.1; με το πρόθεμα <option>-lo</option>:</para>
-
- <screen>&prompt.root; <userinput>ls -lo file1</userinput></screen>
-
- <para>Στην έξοδο θα πρέπει να δείτε κάτι παρόμοιο με το ακόλουθο:</para>
-
- <programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1</programlisting>
-
- <para>Μερικά flags μπορούν να προστεθούν ή να αφαιρεθούν μόνο από τον
- χρήστη <systemitem class="username">root</systemitem>. Στις υπόλοιπες περιπτώσεις, ο
- ιδιοκτήτης του αρχείου μπορεί να θέσει αυτά τα flags. Προτείνουμε
- στους διαχειριστές να διαβάσουν τις σελίδες βοηθείας
- &man.chflags.1; και &man.chflags.2; για περισσότερες
- πληροφορίες.</para>
- </sect2>
-
- <sect2>
- <info><title>Οι Άδειες setuid, setgid και sticky</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Συνεισφορά από τον </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Εκτός από τις άδειες που έχουμε συζητήσει ήδη, υπάρχουν τρεις
- ακόμα τις οποίες κάθε διαχειριστής πρέπει να γνωρίζει. Πρόκειται για
- τις άδειες <literal>setuid</literal>, <literal>setgid</literal> και
- <literal>sticky</literal>.</para>
-
- <para>Οι παραπάνω είναι σημαντικές για κάποιες λειτουργίες στο &unix;,
- καθώς παρέχουν λειτουργίες που δεν είναι φυσιολογικά διαθέσιμες στους
- κοινούς χρήστες. Για να τις κατανοήσετε, θα πρέπει πρώτα να
- καταλάβετε την διαφορά μεταξύ του πραγματικού αναγνωριστικού χρήστη
- (real user ID) και του ενεργού αναγνωριστικού χρήστη (effective user
- ID).</para>
-
- <para>Το πραγματικό ID του χρήστη, είναι το <acronym>UID</acronym>
- στο οποίο ανήκει, ή με το οποίο ξεκινά, μια διεργασία. Το ενεργό
- <acronym>UID</acronym>, είναι το αναγνωριστικό χρήστη το οποίο
- εκτελεί την διεργασία. Για παράδειγμα, το βοηθητικό πρόγραμμα
- &man.passwd.1; εκτελείται με το πραγματικό ID του χρήστη που αλλάζει
- τον κωδικό του. Ωστόσο, για να μπορεί να διαχειριστεί την βάση
- δεδομένων με τους κωδικούς του συστήματος, το πρόγραμμα αυτό
- χρησιμοποιεί ως ενεργό ID αυτό του χρήστη <systemitem class="username">root</systemitem>.
- Με αυτό τον τρόπο, επιτρέπεται στους απλούς χρήστες να αλλάζουν τους
- κωδικούς τους χωρίς να παίρνουν το μήνυμα λάθους
- <errorname>Permission Denied</errorname> (απαγόρευση
- πρόσβασης).</para>
-
- <note>
- <para>Η επιλογή <literal>nosuid</literal> στην εντολή &man.mount.8;
- θα προκαλέσει αποτυχία εκτέλεσης αυτών των εντολών, και μάλιστα
- χωρίς κάποιο μήνυμα λάθους. Με λίγα λόγια, η εκτέλεση τους θα
- αποτύχει, και ο χρήστης δεν θα ενημερωθεί για αυτό. Η επιλογή
- αυτή δεν είναι επίσης απόλυτα ασφαλής, καθώς (σύμφωνα με τη σελίδα
- manual &man.mount.8;) υπάρχει τρόπος να παρακαμφθεί μέσω κάποιου
- ενδιάμεσου <literal>nosuid</literal> προγράμματος (wrapper).</para>
- </note>
-
- <para>Μπορείτε να καθορίσετε την άδεια setuid, τοποθετώντας τον αριθμό
- τέσσερα (4) μπροστά από το γενικό σετ των αδειών, όπως φαίνεται
- στο ακόλουθο παράδειγμα:</para>
-
- <screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
-
- <para>Οι άδειες στο αρχείο
- <filename>suidexample.sh</filename> θα
- φαίνονται τώρα όπως παρακάτω:</para>
-
- <programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
-
- <para>Παρατηρήστε στο παράδειγμα, ότι το <literal>s</literal> είναι
- πλέον μέλος του συνόλου αδειών που έχουν καθοριστεί για τον ιδιοκτήτη
- του αρχείου, και έχει αντικαταστήσει την αντίστοιχη άδεια εκτέλεσης.
- Με τον τρόπο αυτό λειτουργούν προγράμματα που χρειάζονται αυξημένα
- δικαιώματα, όπως για παράδειγμα η εντολή
- <command>passwd</command>.</para>
-
- <para>Για να παρατηρήσετε αυτή τη λειτουργία την ώρα που συμβαίνει,
- ανοίξτε δύο τερματικά. Στο πρώτο, ξεκινήστε την εντολή
- <command>passwd</command> ως κανονικός χρήστης. Καθώς η εντολή
- εκτελείται και περιμένει για την εισαγωγή του νέου κωδικού, ελέγξτε
- τον πίνακα διεργασιών και αναζητήστε τις πληροφορίες του χρήστη που
- εκτελεί την εντολή <command>passwd</command>.</para>
-
- <para>Στο τερματικό Α:</para>
-
- <screen>Changing local password for trhodes
-Old Password:</screen>
-
- <para>Στο τερματικό Β:</para>
-
- <screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
-
- <screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
-root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
-
- <para>Όπως είπαμε παραπάνω, η εντολή <command>passwd</command>
- εκτελείται από ένα κανονικό χρήστη, αλλά χρησιμοποιεί το ενεργό
- <acronym>UID</acronym> του χρήστη <systemitem class="username">root</systemitem>.</para>
-
- <para>Η άδεια <literal>setgid</literal> εκτελεί την ίδια λειτουργία όπως
- και η <literal>setuid</literal>, αλλά επιδρά στις άδειες της ομάδας
- (group). Όταν εκτελέσετε μια τέτοια εφαρμογή ή βοηθητικό πρόγραμμα,
- θα χρησιμοποιεί τις άδειες της ομάδας στην οποία ανήκει το αρχείο,
- και όχι του χρήστη που την ξεκίνησε.</para>
-
- <para>Για να θέσετε την άδεια <literal>setgid</literal> σε ένα αρχείο,
- θα πρέπει να τοποθετήσετε τον αριθμό δύο (2) μπροστά από το σύνολο
- αδειών, στην εντολή <command>chmod</command>. Δείτε το παρακάτω
- παράδειγμα:</para>
-
- <screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
-
- <para>Όπως και πριν, θα παρατηρήσετε τη νέα άδεια <literal>s</literal>,
- αλλά αυτή τη φορά στο σετ των αδειών της ομάδας:</para>
-
- <screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh</screen>
-
- <note>
- <para>Στα παραδείγματα μας, αν και το αρχείο είναι ένα εκτελέσιμο
- script για κέλυφος, δεν θα εκτελεστεί με διαφορετικό ενεργό ID
- (<acronym>EUID</acronym>). Αυτό συμβαίνει γιατί σε αυτά τα scripts
- δεν επιτρέπεται η πρόσβαση στις κλήσεις &man.setuid.2; του
- συστήματος.</para>
- </note>
-
- <para>Οι δύο πρώτες ειδικές άδειες που αναφέραμε,
- οι <literal>setuid</literal> και <literal>setgid</literal>,
- ενδεχομένως να μειώσουν την ασφάλεια του συστήματος, αφού επιτρέπουν
- σε προγράμματα να εκτελούνται με αυξημένα δικαιώματα. Υπάρχει ωστόσο
- μια τρίτη ειδική άδεια, η οποία μπορεί να αυξήσει την ασφάλεια του
- συστήματος: το <literal>sticky bit</literal>.</para>
-
- <para>Όταν θέσετε το <literal>sticky bit</literal> σε ένα κατάλογο,
- επιτρέπεται η διαγραφή ενός αρχείου μόνο από τον ιδιοκτήτη του.
- Η άδεια αυτή είναι χρήσιμη για να αποφεύγεται η διαγραφή ενός αρχείου
- από κοινόχρηστους καταλόγους, όπως για παράδειγμα ο
- <filename>/tmp</filename>, από κάποιο χρήστη που
- δεν είναι ο ιδιοκτήτης του. Για να θέσετε αυτή την άδεια, τοποθετήστε
- τον αριθμό ένα (1) στην αρχή του σετ αδειών:</para>
-
- <screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
-
- <para>Μπορείτε τώρα να δείτε το αποτέλεσμα, χρησιμοποιώντας την εντολή
- <command>ls</command>:</para>
-
- <screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
-
- <screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
-
- <para>Η άδεια <literal>sticky bit</literal> φαίνεται ως
- <literal>t</literal> στο τέλος του συνόλου των αδειών.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="dirstructure">
- <title>Δομή Καταλόγου</title>
- <indexterm><primary>ιεραρχία δομής</primary></indexterm>
-
- <para>Η ιεραρχική δομή του &os; είναι ένα βασικό στοιχείο που πρέπει να
- γνωρίζετε αν θέλετε να έχετε μια ολοκληρωμένη εικόνα του συστήματος. Η
- πιο σημαντική έννοια είναι αυτή του ριζικού (root) καταλόγου,
- <quote>/</quote>. Αυτός ο κατάλογος προσαρτάται (mount) πρώτος κατά
- την εκκίνηση και περιέχει το βασικό σύστημα ικανό να ετοιμάσει το Λ.Σ.
- για λειτουργία multi-user. Ο root κατάλογος περιέχει επίσης σημεία
- προσάρτησης για άλλα συστήματα αρχείων που προσαρτώνται κατά την
- μετάβαση σε κατάσταση λειτουργίας multi-user.</para>
-
- <para>Σημείο προσάρτησης (mount point) είναι ένας κατάλογος στον οποίο
- μπορούν να αναπτυχθούν πρόσθετα συστήματα αρχείων σε ένα γονικό σύστημα
- αρχείων (συνήθως στο root σύστημα αρχείων). Αυτό περιγράφεται
- αναλυτικά στην ενότητα <xref linkend="disk-organization"/>. Στα
- στάνταρντ σημεία προσάρτησης περιλαμβάνονται:
- οι <filename>/usr</filename>, <filename>/var</filename>,
- <filename>/tmp</filename>, <filename>/mnt</filename>, και
- <filename>/cdrom</filename>. Αυτοί οι
- κατάλογοι συνήθως είναι καταχωρημένοι στο αρχείο
- <filename>/etc/fstab</filename>. Το <filename>/etc/fstab</filename>
- είναι ένας πίνακας αντιστοιχίας διαφόρων συστημάτων αρχείων και σημείων
- προσάρτησης για αναφορά στο σύστημα. Τα περισσότερα συστήματα
- που αναφέρονται στο <filename>/etc/fstab</filename> προσαρτώνται
- αυτόματα κατά την εκκίνηση του συστήματος από το script &man.rc.8; εκτός
- αν περιέχεται η επιλογή <option>noauto</option>. Λεπτομέρειες μπορείτε
- να βρείτε στο <xref linkend="disks-fstab"/>.</para>
-
- <para>Μια πλήρη περιγραφή της ιεραρχίας του συστήματος αρχείων είναι
- διαθέσιμη στο &man.hier.7;. Ακολουθεί μια σύντομη ανασκόπηση με τους
- πιο συνήθεις καταλόγους.</para>
-
- <para>
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Κατάλογος</entry>
- <entry>Περιγραφή</entry>
- </row>
- </thead>
-
- <tbody valign="top">
- <row>
- <entry><filename>/</filename></entry>
- <entry> Ριζικός (root) κατάλογος του συστήματος αρχείων.</entry>
- </row>
-
- <row>
- <entry><filename>/bin/</filename></entry>
- <entry>Χρήσιμα εργαλεία για περιβάλλον ενός ή πολλαπλών
- χρηστών.</entry>
- </row>
-
- <row>
- <entry><filename>/boot/</filename></entry>
- <entry>Προγράμματα και αρχεία ρυθμίσεων που χρησιμοποιούνται
- κατά την εκκίνηση του λειτουργικού συστήματος.</entry>
- </row>
-
- <row>
- <entry><filename>/boot/defaults/</filename></entry>
- <entry>Προκαθορισμένα αρχεία ρυθμίσεων εκκίνησης, δείτε
- &man.loader.conf.5;.</entry>
- </row>
-
- <row>
- <entry><filename>/dev/</filename></entry>
- <entry>Αρχεία συσκευών, δείτε &man.intro.4;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/</filename></entry>
- <entry>Αρχεία ρυθμίσεων συστήματος και σενάρια εκκίνησης.
- </entry>
- </row>
-
- <row>
- <entry><filename>/etc/defaults/</filename></entry>
- <entry>Προκαθορισμένα αρχεία ρυθμίσεων συστήματος, δείτε την
- &man.rc.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/mail/</filename></entry>
- <entry>Αρχεία ρυθμίσεων για πράκτορες μεταφοράς ηλεκτρ.
- ταχυδρομείου (ΜΤΑ) όπως το &man.sendmail.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/namedb/</filename></entry>
- <entry>Αρχεία ρυθμίσεων <command>named</command>, δείτε
- &man.named.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/periodic/</filename></entry>
- <entry>Σενάρια λειτουργιών που τρέχουν σε ημερήσια, εβδομαδιαία,
- και μηνιαία βάση, &man.cron.8;; δείτε
- &man.periodic.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/etc/ppp/</filename></entry>
- <entry>Αρχεία ρυθμίσεων <command>ppp</command>, δείτε τις
- &man.ppp.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/mnt/</filename></entry>
- <entry>Κενός κατάλογος που συνήθως χρησιμοποιείται από τους
- διαχειριστές συστημάτων ως προσωρινό σημείο
- προσάρτησης.</entry>
- </row>
-
- <row>
- <entry><filename>/proc/</filename></entry>
- <entry>Σύστημα αρχείων διεργασιών, δείτε τις &man.procfs.5;,
- &man.mount.procfs.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/rescue/</filename></entry>
- <entry>Προγράμματα με στατική σύνδεση (static link) για ασφαλή
- επαναφορά συστήματος, δείτε την &man.rescue.8;.</entry>
- </row>
-
- <row>
- <entry><filename>/root/</filename></entry>
- <entry>Προσωπικός κατάλογος του χρήστη
- <systemitem class="username">root</systemitem>.</entry>
- </row>
-
- <row>
- <entry><filename>/sbin/</filename></entry>
- <entry>Προγράμματα συστήματος και χρήσιμα εργαλεία διαχείρισης
- για περιβάλλον ενός ή πολλαπλών χρηστών.</entry>
- </row>
-
- <row>
- <entry><filename>/tmp/</filename></entry>
- <entry>Προσωρινά αρχεία. Τα περιεχόμενα του
- <filename>/tmp</filename> συνήθως δεν
- διατηρούνται μετά από επανεκκίνηση του συστήματος. Στο
- <filename>/tmp</filename> συνήθως
- προσαρτάται ένα σύστημα αρχείων μνήμης. Αυτό μπορεί να
- επιτευχθεί αυτομάτως χρησιμοποιώντας τις σχετικές μεταβλητές
- tmpmfs του &man.rc.conf.5; (ή με μια καταχώρηση στον
- <filename>/etc/fstab</filename>, δείτε
- την &man.mdmfs.8;).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/</filename></entry>
- <entry>Περιέχονται σχεδόν όλα τα βοηθητικά προγράμματα και οι
- εφαρμογές χρηστών.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/bin/</filename></entry>
- <entry>Κοινόχρηστα βοηθητικά προγράμματα, εργαλεία
- προγραμματισμού, και εφαρμογές.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/include/</filename></entry>
- <entry>Στάνταρ αρχεία συμπερίληψης C (include files).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/lib/</filename></entry>
- <entry>Αρχεία βιβλιοθηκών.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/libdata/</filename></entry>
- <entry>Διάφορα αρχεία δεδομένων βοηθητικών προγραμμάτων.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/libexec/</filename></entry>
- <entry>Δαίμονες συστήματος &amp; βοηθητικά προγράμματα
- συστήματος (εκτελούνται από άλλα προγράμματα).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/local/</filename></entry>
-
- <entry>Τοπικά εκτελέσιμα, βιβλιοθήκες, κτλ. Επίσης είναι και ο
- προκαθορισμένος προορισμός για προγράμματα που εγκαθίστανται
- από τα ports του &os;. Μέσα στον
- <filename>/usr/local</filename>, χρησιμοποιείται γενικά η
- διάταξη του <filename>/usr</filename> που περιγράφεται στο
- &man.hier.7;. Εξαιρούνται οι κατάλογοι σελίδων βοηθείας
- man, που βρίσκεται άμεσα κάτω από τον
- <filename>/usr/local</filename> και όχι κάτω από τον
- <filename>/usr/local/share</filename>, καθώς και η τεκμηρίωση
- κάθε port που βρίσκεται στον
- <filename>share/doc/port
- </filename>.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/obj/</filename></entry>
- <entry>Δέντρο προορισμού που εξαρτάται από την αρχιτεκτονική
- του μηχανήματος και παράγεται μεταγλωττίζοντας το δέντρο
- <filename>/usr/src</filename>.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/ports/</filename></entry>
- <entry>Η Συλλογή Ports του &os; (προαιρετικό).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/sbin/</filename></entry>
- <entry>Δαίμονες συστήματος &amp; βοηθητικά προγράμματα
- συστήματος (εκτελούνται από χρήστες).</entry>
- </row>
-
- <row>
- <entry><filename>/usr/share/</filename></entry>
- <entry>Αρχεία ανεξάρτητα από την Αρχιτεκτονική του
- μηχανήματος.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/src/</filename></entry>
- <entry>Αρχεία BSD και/ή τοπικά αρχεία πηγαίου κώδικα.</entry>
- </row>
-
- <row>
- <entry><filename>/usr/X11R6/</filename></entry>
- <entry>Εκτελέσιμα, βιβλιοθήκες, κτλ. για την διανομή X11R6
- (προαιρετικό).</entry>
- </row>
-
- <row>
- <entry><filename>/var/</filename></entry>
- <entry>Αρχεία αναφοράς (log) διαφόρων χρήσεων, temporary,
- transient, και spool. Μερικές φορές προσαρτάται στον
- <filename>/var</filename> ένα σύστημα
- αρχείων μνήμης. Αυτό μπορεί να επιτευχθεί αυτόματα
- χρησιμοποιώντας τις σχετικές μεταβλητές varmfs του
- &man.rc.conf.5; (ή με μία καταχώρηση στο
- <filename>/etc/fstab</filename>, δείτε τις
- &man.mdmfs.8;).</entry>
- </row>
-
- <row>
- <entry><filename>/var/log/</filename></entry>
- <entry>Διάφορα αρχεία συμβάντων του συστήματος.</entry>
- </row>
-
- <row>
- <entry><filename>/var/mail/</filename></entry>
- <entry>Αρχεία γραμματοκιβωτίου (mailbox) χρηστών.</entry>
- </row>
-
- <row>
- <entry><filename>/var/spool/</filename></entry>
- <entry>Διάφοροι κατάλογοι παροχέτευσης (spool) εκτυπωτών και
- ηλεκτρονικής αλληλογραφίας του συστήματος.</entry>
- </row>
-
- <row>
- <entry><filename>/var/tmp/</filename></entry>
- <entry>Προσωρινά (temporary) αρχεία. Τα αρχεία αυτά συνήθως
- διατηρούνται κατά την διάρκεια επανεκκίνησης του συστήματος,
- εκτός αν ο <filename>/var</filename> είναι
- ένα σύστημα αρχείων μνήμης.</entry>
- </row>
-
- <row>
- <entry><filename>/var/yp/</filename></entry>
- <entry>Απεικονίσεις (maps) NIS.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect1>
-
- <sect1 xml:id="disk-organization">
- <title>Οργάνωση Δίσκου</title>
-
- <para>Η μικρότερη μονάδα οργάνωσης που χρησιμοποιεί το &os; για να βρει
- αρχεία είναι το όνομα αρχείου. Τα ονόματα αρχείων είναι ευαίσθητα στα
- κεφαλαία- μικρά, το οποίο σημαίνει ότι το
- <filename>readme.txt</filename> και το <filename>README.TXT</filename>
- είναι δύο διαφορετικά αρχεία. Το &os; δεν χρησιμοποιεί την επέκταση
- <filename>.txt</filename> αρχείου για να προσδιορίσει αν ένα αρχείο
- είναι πρόγραμμα, ή έγγραφο, ή άλλος τύπος δεδομένων.</para>
-
- <para>Τα αρχεία αποθηκεύονται σε καταλόγους. Ένας κατάλογος μπορεί να
- μην περιέχει αρχεία, ή μπορεί να περιέχει εκατοντάδες αρχεία. Ένας
- κατάλογος μπορεί επίσης να περιέχει άλλους καταλόγους, επιτρέποντας
- σας να κατασκευάσετε μια ιεραρχική δομή καταλόγων όπου κατάλογοι
- εσωκλείουν άλλους καταλόγους. Αυτό μας επιτρέπει να οργανώσουμε τα
- δεδομένα μας πολύ ευκολότερα.</para>
-
- <para>Η αναφορά σε αρχεία και καταλόγους γίνεται δίνοντας το όνομα
- αρχείου ή το όνομα καταλόγου, ακολουθεί μία αριστερόστροφη κάθετος,
- <literal>/</literal> και έπειτα οποιοδήποτε άλλο κατάλληλο όνομα
- καταλόγου. Εάν έχετε τον κατάλογο <filename>foo</filename>, ο οποίος
- περιέχει τον κατάλογο <filename>bar</filename>, ο οποίος περιέχει το
- αρχείο <filename>readme.txt</filename>, τότε το ολοκληρωμένο όνομα,
- <firstterm>διαδρομή (path)</firstterm> στο αρχείο είναι
- <filename>foo/bar/readme.txt</filename>.</para>
-
- <para>Κατάλογοι και αρχεία αποθηκεύονται σε ένα σύστημα αρχείων. Κάθε
- σύστημα αρχείων περιέχει ένα κατάλογο στο ανώτερο επίπεδο, που
- ονομάζεται <firstterm>root (ριζικός) κατάλογος</firstterm> για το
- συγκεκριμένο σύστημα αρχείων. Ο root κατάλογος μπορεί να περιέχει
- άλλους καταλόγους.</para>
-
- <para>Αυτό πιθανώς είναι παρόμοιο με οποιοδήποτε άλλο λειτουργικό
- σύστημα έχετε χρησιμοποιήσει. Ωστόσο υπάρχουν μερικές διαφορές. Για
- παράδειγμα, το &ms-dos; χρησιμοποιεί <literal>\</literal> για να
- διαχωρίζει ονόματα καταλόγων και αρχείων, ενώ το &macos; χρησιμοποιεί
- <literal>:</literal>.</para>
-
- <para>Το &os; δεν χρησιμοποιεί γράμματα οδηγών ή ονόματα οδηγών στη
- διαδρομή. Επομένως δεν θα πρέπει να γράφετε
- <filename>c:/foo/bar/readme.txt</filename> στο &os;.</para>
-
- <para>Αντιθέτως, ένα σύστημα αρχείων καθορίζεται ως root σύστημα
- αρχείων. Ο ριζικός κατάλογος του root συστήματος αρχείων
- αναφέρεται ως <literal>/</literal>. Κάθε άλλο σύστημα αρχείου
- <firstterm>προσαρτάται</firstterm> κάτω από το root σύστημα αρχείων
- Δεν έχει σημασία πόσους δίσκους έχετε στο &os; σύστημα σας,
- κάθε κατάλογος εμφανίζεται να είναι μέρος του ίδιου δίσκου.</para>
-
- <para>Ας υποθέσουμε πως έχετε τρία συστήματα αρχείων, τα ονομάζουμε
- <literal>A</literal>, <literal>B</literal> και <literal>C</literal>.
- Κάθε σύστημα αρχείου έχει έναν ριζικό κατάλογο, ο οποίος περιέχει δύο
- άλλους καταλόγους, που τους ονομάζουμε <literal>A1</literal>,
- <literal>A2</literal> (και παρομοίως <literal>B1</literal>,
- <literal>B2</literal> και <literal>C1</literal>,
- <literal>C2</literal>).</para>
-
- <para>Ας θεωρήσουμε ότι το <literal>A</literal> είναι το root σύστημα
- αρχείων. Αν χρησιμοποιήσετε την εντολή <command>ls</command> για να
- δείτε τα περιεχόμενα αυτού του καταλόγου, θα δείτε δύο υποκαταλόγους,
- <literal>A1</literal> και <literal>A2</literal>. Το δέντρο του
- καταλόγου μοιάζει σαν αυτό:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir1"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Κάθε σύστημα αρχείων πρέπει να προσαρτάται σε ένα κατάλογο
- διαφορετικού συστήματος αρχείων. Ας υποθέσουμε πως θέλετε να
- προσαρτήσετε το σύστημα αρχείου <literal>B</literal> στον
- <literal>κατάλογο A1</literal>. Ο ριζικός κατάλογος του
- <literal>B</literal> αντικαθιστά τον <literal>A1</literal>, και οι
- κατάλογοι του <literal>B</literal> εμφανίζονται αναλόγως:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir2"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- | |
- | +--- B1
- | |
- | `--- B2
- |
- `--- A2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Όλα τα αρχεία που περιέχονται στους καταλόγους
- <literal>B1</literal> και <literal>B2</literal> τα βρίσκουμε με τη
- διαδρομή <filename>/A1/B1</filename> ή με <filename>/A1/B2</filename>
- αντίστοιχα. Όλα τα αρχεία που βρίσκονταν στο <filename>/A1</filename>
- είναι προσωρινά κρυμμένα. Θα επανεμφανιστούν όταν ο
- <literal>B</literal> θα <firstterm>αποπροσαρτηθεί</firstterm> από τον
- A.</para>
-
- <para>Αν ο <literal>B</literal> είχε προσαρτηθεί στον
- <literal>A2</literal> τότε το διάγραμμα θα έδειχνε κάπως έτσι:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir3"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2
- |
- +--- B1
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>και οι διαδρομές θα ήταν <filename>/A2/B1</filename> και
- <filename>/A2/B2</filename> αντίστοιχα.</para>
-
- <para>Τα συστήματα αρχείων μπορούν να προσαρτώνται στην κορυφή άλλων
- συστημάτων. Συνεχίζοντας το τελευταίο παράδειγμα, το σύστημα αρχείου
- <literal>C</literal> θα μπορούσε να προσαρτηθεί στην κορυφή του
- καταλόγου <literal>B1</literal> στο σύστημα αρχείου
- <literal>B</literal>, οδηγώντας σε αυτήν την κατανομή:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir4"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- |
- `--- A2
- |
- +--- B1
- | |
- | +--- C1
- | |
- | `--- C2
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Ή ακόμη το <literal>C</literal> θα μπορούσε να προσαρτηθεί άμεσα
- στο σύστημα αρχείου <literal>A</literal>, κάτω από τον κατάλογο
- <literal>A1</literal>:</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/example-dir5"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> /
- |
- +--- A1
- | |
- | +--- C1
- | |
- | `--- C2
- |
- `--- A2
- |
- +--- B1
- |
- `--- B2</literallayout>
- </textobject>
- </mediaobject>
-
- <para>Αν γνωρίζετε το σύστημα &ms-dos;, είναι παρόμοιο, αλλά όχι
- ακριβώς το ίδιο, με την εντολή <command>join</command>.</para>
-
- <para>Αυτό συνήθως δεν είναι κάτι που πρέπει να γνωρίζετε άμεσα. Τυπικά,
- εσείς δημιουργείτε συστήματα αρχείων όταν εγκαθιστάτε το &os; και
- αποφασίζετε το σημείο προσάρτησης αυτών, και έπειτα δεν χρειάζεται
- να τα αλλάξετε εκτός αν πρόκειται να προσθέσετε ένα καινούργιο
- δίσκο.</para>
-
- <para>Είναι απόλυτα δυνατόν να έχετε ένα μεγάλο root σύστημα αρχείων,
- και να μην χρειάζεται να δημιουργήσετε άλλα. Με αυτή την τακτική
- υπάρχουν μερικά μειονεκτήματα και ένα πλεονέκτημα.</para>
-
- <itemizedlist>
- <title>Προτερήματα Πολλαπλών Συστημάτων Αρχείων</title>
-
- <listitem>
- <para>Διαφορετικά συστήματα αρχείων μπορούν να έχουν διαφορετικές
- <firstterm>επιλογές προσάρτησης</firstterm>. Για παράδειγμα, με
- προσεκτικό σχεδιασμό, το root σύστημα αρχείων μπορεί να
- προσαρτηθεί μόνο για ανάγνωση, ώστε να είναι αδύνατη η διαγραφή
- ή η μετατροπή κάποιου σημαντικού αρχείου. Διαχωρίζοντας συστήματα
- αρχείων με δυνατότητα εγγραφής από τον χρήστη, όπως ο
- <filename>/home</filename>, επιτρέπει επίσης την προσάρτηση τους
- ως <firstterm>nosuid</firstterm>. Αυτή η επιλογή περιορίζει την
- χρήση εκτελέσιμων που είναι αποθηκευμένα στο σύστημα αρχείων, με
- ενεργοποιημένα τα bits
- <firstterm>suid</firstterm>/<firstterm>guid</firstterm>,
- βελτιώνοντας πιθανώς την ασφάλεια.</para>
- </listitem>
-
- <listitem>
- <para>Ανάλογα με το πως θα χρησιμοποιηθεί το σύστημα αρχείων, το
- &os; ρυθμίζει με τον καλύτερο τρόπο την διάταξη των αρχείων στο
- σύστημα. Επομένως ένα σύστημα που περιέχει πολλά μικρά αρχεία που
- μεταβάλλονται συχνά, θα έχει διαφορετική διάταξη από ένα άλλο που
- περιέχει λιγότερα σε αριθμό, αλλά πιο ογκώδη αρχεία. Εάν έχετε ένα
- μοναδικό σύστημα αρχείων, τότε χάνετε αυτή τη δυνατότητα.</para>
- </listitem>
-
- <listitem>
- <para>Τα συστήματα αρχείων του &os; είναι πολύ ισχυρά. Ωστόσο,
- μια αδυναμία σε κάποιο σημαντικό σημείο μπορεί ακόμη να οδηγήσει
- σε κατάρρευση της δομής του συστήματος αρχείων. Ο διαχωρισμός των
- δεδομένων σας σε πολλαπλά συστήματα αρχείων κάνει πιο εύκολη μια
- πιθανή επαναφορά από backup, όταν αυτό είναι αναγκαίο.</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Προτερήματα ενός Μονοκόμματου Συστήματος Αρχείου</title>
-
- <listitem>
- <para>Τα συστήματα αρχείων είναι συγκεκριμένου σταθερού μεγέθους.
- Αν δημιουργήσετε ένα σύστημα αρχείων κατά την εγκατάσταση του &os;
- και του δώσετε ένα ορισμένο μέγεθος, μπορεί αργότερα να
- ανακαλύψετε πως χρειάζεστε να φτιάξετε μια μεγαλύτερη κατάτμηση.
- Αυτό δεν είναι εύκολα πραγματοποιήσιμο δίχως backup, αναδημιουργία
- του συστήματος αρχείου με το νέο μέγεθος, και επαναφορά των
- αποθηκευμένων δεδομένων.</para>
-
- <important>
- <para>Στο &os; περιέχεται η εντολή &man.growfs.8;, η οποία
- επιτρέπει να αυξήσουμε το μέγεθος ενός συστήματος αρχείων κατά
- τη λειτουργία του, αφαιρώντας αυτόν τον περιορισμό.</para>
- </important>
- </listitem>
- </itemizedlist>
-
- <para>Τα συστήματα αρχείων περιέχονται σε κατατμήσεις (partitions).
- Αυτό δεν έχει την ίδια έννοια με την κοινή χρήση του όρου κατάτμηση
- (όπως για παράδειγμα, η κατάτμηση του &ms-dos;), λόγω της κληρονομιάς
- που φέρει το &os; από το &unix;. Κάθε κατάτμηση αναγνωρίζεται από
- ένα λατινικό χαρακτήρα ξεκινώντας από <literal>a</literal> έως το
- <literal>h</literal>. Κάθε κατάτμηση μπορεί να περιέχει μόνο ένα
- σύστημα αρχείων, το οποίο σημαίνει πως η αναφορά στα συστήματα αρχείων
- γίνεται είτε από το τυπικό σημείο προσάρτησης στην ιεραρχία του
- συστήματος αρχείων, είτε από το λατινικό χαρακτήρα της
- κατάτμησης.</para>
-
- <para>Επίσης το &os; χρησιμοποιεί μέρος από το δίσκο για
- <firstterm>χώρο swap </firstterm>. Ο χώρος Swap παρέχει στο &os;
- <firstterm>εικονική μνήμη (virtual memory)</firstterm>. Αυτό
- επιτρέπει στον υπολογιστή σας να συμπεριφέρεται σαν να είχε πολύ
- περισσότερη μνήμη από όσο πραγματικά έχει. Όταν το &os; δεν έχει
- διαθέσιμη μνήμη μεταφέρει μερικά από τα δεδομένα που δεν
- χρησιμοποιούνται, την προκειμένη στιγμή, στον χώρο swap, και όταν τα
- χρειαστεί τα επαναφέρει (ενώ μεταφέρει κάποια άλλα δεδομένα στον χώρο
- swap).</para>
-
- <para>Υπάρχουν κάποιες συμβάσεις σχετικά με τις κατατμήσεις</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Κατάτμηση</entry>
-
- <entry>Σύμβαση</entry>
- </row>
- </thead>
-
- <tbody valign="top">
- <row>
- <entry><literal>a</literal></entry>
-
- <entry>Συνήθως περιλαμβάνει το root σύστημα αρχείων</entry>
- </row>
-
- <row>
- <entry><literal>b</literal></entry>
-
- <entry>Συνήθως περιλαμβάνει τον χώρο swap</entry>
- </row>
-
- <row>
- <entry><literal>c</literal></entry>
-
- <entry>Συνήθως ιδίου μεγέθους με την περιλαμβανόμενη φέτα
- (slice). Αυτό επιτρέπει σε βοηθητικά προγράμματα που πρέπει
- να δουλέψουν σε ολόκληρο το κομμάτι (για παράδειγμα, ένας
- ανιχνευτής κατεστραμμένων μπλοκ) να λειτουργούν στην
- <literal>c</literal> κατάτμηση. Κανονικά δεν θα πρέπει να
- δημιουργείτε σύστημα αρχείων σε αυτή την κατάτμηση.</entry>
- </row>
-
- <row>
- <entry><literal>d</literal></entry>
-
- <entry>Η κατάτμηση <literal>d</literal> είχε στο παρελθόν μια
- ειδική αντιστοιχία, κάτι που δεν ισχύει πλέον σήμερα,
- επομένως η <literal>d</literal> μπορεί να χρησιμοποιείται
- σαν μια κανονική κατάτμηση.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Κάθε κατάτμηση που περιέχει ένα σύστημα αρχείων αποθηκεύεται στο
- &os; σε μια τοποθεσία που ονομάζεται
- <firstterm>φέτα (slice)</firstterm>. Η φέτα είναι ένας όρος του &os;
- για αυτό που κοινώς αποκαλείται κατάτμηση, και αυτό επίσης οφείλεται
- στην καταγωγή του &os; από το &unix;. Οι φέτες αριθμούνται αρχίζοντας
- από το 1 έως το 4.</para>
-
- <indexterm><primary>φέτες</primary></indexterm>
- <indexterm><primary>κατατμήσεις</primary></indexterm>
- <indexterm><primary>dangerously dedicated</primary></indexterm>
-
- <para>Ο αριθμός της φέτας ακολουθεί το όνομα συσκευής μετά το πρόθεμα
- <literal>s</literal> ξεκινώντας από το 1. Επομένως,
- <quote>da0<emphasis>s1</emphasis></quote> είναι η πρώτη φέτα του
- πρώτου οδηγού SCSI. Μπορούν να υπάρχουν μέχρι τέσσερις φέτες σε κάθε
- δίσκο, αλλά μπορείτε να δημιουργήσετε λογικές φέτες μέσα σε
- κατάλληλου τύπου φυσικές φέτες. Σε αυτές τις εκτεταμένες φέτες
- η αρίθμηση ξεκινάει από το 5, επομένως
- <quote>ad0<emphasis>s5</emphasis></quote>
- είναι η πρώτη εκτεταμένη φέτα στον πρώτο δίσκο IDE. Αυτές οι
- συσκευές χρησιμοποιούνται από συστήματα αρχείων που πρέπει να
- καταλαμβάνουν μια ολόκληρη φέτα.</para>
-
- <para>Οι φέτες, οι <quote>επικίνδυνα αφοσιωμένοι (dangerously dedicated)
- </quote> φυσικοί οδηγοί καθώς και άλλοι οδηγοί, περιέχουν
- <firstterm>κατατμήσεις</firstterm>, οι οποίες παρουσιάζονται με
- λατινικούς χαρακτήρες από το <literal>a</literal> έως το
- <literal>h</literal>. Αυτός ο χαρακτήρας αναφέρεται στο όνομα
- συσκευής, επομένως <quote>da0<emphasis>a</emphasis></quote> είναι η
- a κατάτμηση στον πρώτο οδηγό da, ο οποίος είναι <quote>επικίνδυνα
- αφοσιωμένος</quote>.
- Η <quote>ad1s3<emphasis>e</emphasis></quote> είναι η πέμπτη κατάτμηση
- στην τρίτη φέτα του δεύτερου οδηγού δίσκου IDE.</para>
-
- <para>Ολοκληρώνοντας, κάθε δίσκος στο σύστημα είναι μονόδρομα ορισμένος.
- Κάθε όνομα δίσκου ξεκινά με ένα κωδικό που υποδεικνύει τον τύπο του
- δίσκου, και ένα νούμερο που υποδηλώνει ποιος δίσκος είναι. Αντίθετα
- με τις φέτες, οι δίσκοι αριθμούνται ξεκινώντας από το 0. Οι πιο
- συνήθεις κωδικοί που θα συναντήσετε αναφέρονται στην
- <xref linkend="basics-dev-codes"/>.</para>
-
- <para>Όταν γίνεται αναφορά σε μια κατάτμηση, το &os; ζητά να δηλωθεί
- επιπλέον η ονομασία της φέτας και του δίσκου που περιέχει την
- κατάτμηση, ενώ στην περίπτωση που αναφέρεστε σε μια φέτα θα πρέπει
- να δηλώνετε το όνομα του δίσκου. Επομένως, όταν αναφέρεστε σε μια
- κατάτμηση χρειάζεται να δηλώνετε το όνομα του δίσκου,
- <literal>s</literal>, τον αριθμό της φέτας, και τον χαρακτήρα της
- κατάτμησης. Παραδείγματα μπορείτε να βρείτε στην
- <xref linkend="basics-disk-slice-part"/>.</para>
-
- <para>Η <xref linkend="basics-concept-disk-model"/> παρουσιάζει ένα
- εννοιολογικό μοντέλο για τη δομή του δίσκου που θα σας βοηθήσει να
- καταλάβετε καλύτερα κάποια πράγματα.</para>
-
- <para>Για να εγκαταστήσετε το &os; πρέπει πρώτα να ρυθμίσετε τις φέτες
- του δίσκου, να δημιουργήσετε τις κατατμήσεις μέσα στις φέτες που θα
- χρησιμοποιήσετε για το &os;, έπειτα να δημιουργήσετε ένα σύστημα
- αρχείων (ή χώρο swap) σε κάθε κατάτμηση, και τέλος να αποφασίσετε σε
- ποιο σημείο θα προσαρτηθεί το σύστημα αρχείων.</para>
-
- <table frame="none" pgwide="1" xml:id="basics-dev-codes">
- <title>Κωδικοί Συσκευών Δίσκων</title>
-
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Κώδικας</entry>
-
- <entry>Σημαίνει</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><filename>ad</filename></entry>
- <entry>Δίσκος ATAPI (IDE)</entry>
- </row>
-
- <row>
- <entry><filename>da</filename></entry>
- <entry>Δίσκος SCSI άμεσης πρόσβασης</entry>
- </row>
-
- <row>
- <entry><filename>acd</filename></entry>
- <entry>ATAPI (IDE) CDROM</entry>
- </row>
-
- <row>
- <entry><filename>cd</filename></entry>
- <entry>SCSI CDROM</entry>
- </row>
-
- <row>
- <entry><filename>fd</filename></entry>
- <entry>Μονάδα Δισκέτας (Floppy)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <example xml:id="basics-disk-slice-part">
- <title>Υποδείγματα Ονομάτων Δίσκου, Φέτας, Κατάτμησης</title>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <colspec colwidth="1*"/>
- <colspec colwidth="5*"/>
-
- <thead>
- <row>
- <entry>Ονομασία</entry>
- <entry>Σημαίνει</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>ad0s1a</literal></entry>
- <entry>Η πρώτη κατάτμηση (<literal>a</literal>) στην πρώτη
- φέτα (<literal>s1</literal>) του πρώτου δίσκου IDE
- (<literal>ad0</literal>).</entry>
- </row>
-
- <row>
- <entry><literal>da1s2e</literal></entry>
- <entry>Η πέμπτη κατάτμηση (<literal>e</literal>) στην δεύτερη
- φέτα (<literal>s2</literal>) του δεύτερου δίσκου SCSI
- (<literal>da1</literal>).</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </example>
-
- <example xml:id="basics-concept-disk-model">
- <title>Εννοιολογικό Μοντέλο ενός Δίσκου</title>
-
- <para>Το διάγραμμα παρουσιάζει μια εικόνα του πρώτου δίσκου IDE που
- είναι προσαρτημένος στο σύστημα. Ας υποθέσουμε πως ο δίσκος έχει
- μέγεθος 4&nbsp;GB, και περιέχει δύο φέτες των 2&nbsp;GB
- (κατατμήσεις &ms-dos;). Η πρώτη φέτα περιέχει ένα δίσκο &ms-dos;,
- <filename>C:</filename>, και η δεύτερη φέτα μία εγκατάσταση
- &os;. Σε αυτό το παράδειγμα, η εγκατάσταση &os; έχει τρεις
- κατατμήσεις δεδομένων και μία κατάτμηση swap.</para>
-
- <para>Καθεμία από τις τρεις κατατμήσεις θα περιέχει ένα σύστημα
- αρχείων. Η κατάτμηση <literal>a</literal> θα χρησιμοποιηθεί για το
- root σύστημα αρχείων, η <literal>e</literal> για τη δομή κατάλογου
- <filename>/var</filename>, και η <literal>f</literal> για τη δομή
- καταλόγου <filename>/usr</filename>.</para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="install/disk-layout"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced">.-----------------. --.
-| | |
-| DOS / Windows | |
-: : &gt; Πρώτη φέτα, ad0s1
-: : |
-| | |
-:=================: ==: --.
-| | | -a Κατάτμηση a, προσαρτημένη ως / |
-| | &gt; αναφέρεται ως ad0s2a |
-| | | |
-:-----------------: ==: |
-| | | -swap Κατάτμηση b, για χρήση swap |
-| | &gt; αναφέρεται ως ad0s2b |
-| | | |
-:-----------------: ==: | -c Κατάτμηση, απουσία
-| | | -e Κατάτμηση e, για χρήση /var &gt; συστήματος αρχείων,
-| | &gt; αναφέρεται ως ad0s2e | μη προσαρτημένη,
-| | | | ad0s2c
-:-----------------: ==: |
-| | | |
-: : | -f Κατάτμηση f, για χρήση /usr |
-: : &gt; αναφέρεται ως ad0s2f |
-: : | |
-| | | |
-| | --' |
-`-----------------' --'</literallayout>
- </textobject>
- </mediaobject>
- </example>
- </sect1>
-
- <sect1 xml:id="mount-unmount">
- <title>Προσάρτηση και Αποπροσάρτηση Συστημάτων Αρχείων</title>
-
- <para>Ένα σύστημα αρχείων αναπαριστάται καλύτερα σε μορφή δέντρου,
- με τις ρίζες του στο <filename>/</filename>. Οι κατάλογοι
- <filename>/dev</filename>, <filename>/usr</filename>, και άλλοι είναι
- κλαδιά του καταλόγου root, και μπορεί να έχουν με τη σειρά τους, τα
- δικά τους κλαδιά, όπως τον
- <filename>/usr/local</filename>, και ούτω καθεξής.</para>
-
- <indexterm><primary>σύστημα αρχείων root</primary></indexterm>
- <para>Υπάρχουν διάφοροι λόγοι για τους οποίους θα έπρεπε να τοποθετήσουμε
- κάποιους από αυτούς τους καταλόγους σε διαφορετικά συστήματα αρχείων.
- Ο κατάλογος <filename>/var</filename> περιέχει τους καταλόγους
- <filename>log/</filename>, <filename>spool/</filename>, και διάφορους
- άλλους τύπους προσωρινών αρχείων, και για το λόγο αυτό μπορεί να
- γεμίσει. Δεν θα ήταν καλή ιδέα να γεμίσει το root σύστημα αρχείων,
- επομένως ο διαχωρισμός του <filename>/var</filename> από τον
- <filename>/</filename> είναι συχνά επιθυμητός.</para>
-
- <para>Ένας άλλος συνηθισμένος λόγος να έχουμε διάφορους καταλόγους
- σε διαφορετικά συστήματα αρχείων είναι όταν πρόκειται να φιλοξενηθούν
- σε διαφορετικούς φυσικούς δίσκους, ή είναι ξεχωριστοί εικονικοί δίσκοι,
- όπως συμβαίνει με το
- <link linkend="network-nfs">Δικτυακό Σύστημα Αρχείων (Network File System)</link>, και τους οδηγούς CDROM.</para>
-
- <sect2 xml:id="disks-fstab">
- <title>Το Αρχείο <filename>fstab</filename></title>
- <indexterm>
- <primary>συστήματα αρχείων</primary>
- <secondary>προσαρτημένα με το fstab</secondary>
- </indexterm>
-
- <para>Κατά τη <link linkend="boot">διεργασία εκκίνησης</link>, τα
- συστήματα αρχείων που αναφέρονται στο <filename>/etc/fstab</filename>
- προσαρτώνται αυτόματα (εκτός αν αναφέρονται με την επιλογή
- <option>noauto</option> ).</para>
-
- <para>Το αρχείο <filename>/etc/fstab</filename> περιέχει μια σειρά από
- γραμμές με διάταξη όπως η ακόλουθη:</para>
-
- <programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting>
-
- <variablelist>
- <varlistentry>
- <term><literal>device</literal></term>
-
- <listitem>
- <para>Όνομα συσκευής (η οποία θα πρέπει να υπάρχει), όπως
- εξηγείται στην <xref linkend="disks-naming"/>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>mount-point</literal></term>
-
- <listitem>
- <para>Κατάλογος (θα πρέπει να υπάρχει) στον οποίο
- προσαρτάται το σύστημα αρχείων.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>fstype</literal></term>
-
- <listitem>
- <para>Ο τύπος του συστήματος αρχείων που θα δοθεί στην
- &man.mount.8;. Το προκαθορισμένο σύστημα αρχείων του &os;
- είναι το <literal>ufs</literal>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>options</literal></term>
-
- <listitem>
- <para>Το <option>rw</option> για συστήματα αρχείων
- ανάγνωσης- εγγραφής (read- write), ή <option>ro</option> για
- συστήματα αρχείων μόνο ανάγνωσης (read-only), συμπληρωμένο με
- όποια άλλη επιλογή μπορεί να χρειάζεστε. Μία συνήθης επιλογή
- είναι η <option>noauto</option> για συστήματα αρχείων που δεν
- προσαρτώνται αυτόματα κατά τις διεργασίες εκκίνησης του
- συστήματος. Άλλες επιλογές αναφέρονται στην σελίδα βοήθειας
- &man.mount.8;.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>dumpfreq</literal></term>
-
- <listitem>
- <para>Αυτό το πεδίο χρησιμοποιείται από το &man.dump.8; για να
- ορίσει ποια συστήματα αρχείων χρειάζονται dumping. Αν το πεδίο
- απουσιάζει, τότε η προκαθορισμένη τιμή του είναι μηδέν.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>passno</literal></term>
-
- <listitem>
- <para>Αυτό ορίζει την σειρά με την οποία θα ελέγχονται
- τα συστήματα αρχείων. Συστήματα αρχείων που δεν επιθυμούμε να
- ελεγχθούν θα πρέπει να έχουν στο πεδίο <literal>passno</literal>
- τιμή μηδέν. Το root σύστημα αρχείων (το οποίο πρέπει να
- ελεγχθεί πριν από όλα τα άλλα) θα έχει στο πεδίο
- <literal>passno</literal> την τιμή ένα και όλα τα άλλα
- συστήματα αρχείων θα έχουν στο πεδίο <literal>passno</literal>
- τιμές μεγαλύτερες από ένα. Αν περισσότερα από ένα συστήματα
- αρχείων έχουν την ίδια τιμή <literal>passno</literal> τότε το
- &man.fsck.8; θα επιχειρήσει να ελέγξει παράλληλα τα συστήματα
- αρχείων, αν αυτό είναι εφικτό.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Συμβουλευτείτε την σελίδα βοηθείας &man.fstab.5; για περισσότερες
- πληροφορίες για την μορφή του αρχείου <filename>/etc/fstab</filename>
- και για τις επιλογές που μπορεί να περιέχει.</para>
- </sect2>
-
- <sect2 xml:id="disks-mount">
- <title>Η Εντολή <command>mount</command></title>
- <indexterm>
- <primary>συστήματα αρχείων</primary>
- <secondary>προσάρτηση</secondary>
- </indexterm>
-
- <para>Η εντολή &man.mount.8; είναι αυτό ακριβώς που χρειάζεστε για την
- προσάρτηση συστημάτων αρχείων.</para>
-
- <para>Η βασική μορφή της είναι:</para>
-
- <informalexample>
- <screen>&prompt.root; <userinput>mount device mountpoint</userinput></screen>
- </informalexample>
-
- <para>Υπάρχει πληθώρα επιλογών, όπως αναφέρεται στην σελίδα βοηθείας
- &man.mount.8;, αλλά οι πιο συνήθεις είναι:</para>
-
- <variablelist>
- <title>Επιλογές εντολής mount</title>
-
- <varlistentry>
- <term><option>-a</option></term>
-
- <listitem>
- <para>Προσάρτηση όλων των συστημάτων αρχείων που αναφέρονται
- στο <filename>/etc/fstab</filename>, εκτός αυτών που φέρουν
- την επιλογή <quote>noauto</quote>, εξαιρούνται μέσω της επιλογής
- <option>-t</option>, ή αυτών που ήδη έχουν προσαρτηθεί.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-d</option></term>
-
- <listitem>
- <para>Κάνει τα πάντα εκτός από την πραγματική προσάρτηση του
- συστήματος. Αυτή η επιλογή είναι χρήσιμη σε συνεργασία με το
- πρόθεμα <option>-v</option> για να προσδιοριστεί τι ακριβώς
- προσπαθεί να κάνει η &man.mount.8; την συγκεκριμένη
- στιγμή.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-f</option></term>
-
- <listitem>
- <para>Αναγκάζει την προσάρτηση ενός μη-καθαρού συστήματος αρχείων
- (επικίνδυνο), ή εξαναγκάζει την ανάκληση πρόσβασης εγγραφής όταν
- υποβιβάζεται η προσάρτηση ενός συστήματος αρχείων
- ανάγνωσης-εγγραφής (read-write) σε μόνο-ανάγνωσης.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-r</option></term>
-
- <listitem>
- <para>Προσαρτά το σύστημα αρχείων σε κατάσταση μόνο-ανάγνωσης.
- Είναι ακριβώς το ίδιο με τη χρήση του προθέματος
- <option>ro</option> με την επιλογή <option>-o</option>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-t</option>
- <replaceable>fstype</replaceable></term>
-
- <listitem>
- <para>Προσαρτά το υπάρχον σύστημα αρχείων, χρησιμοποιώντας τον
- τύπο συστήματος αρχείων που δίνεται, ή προσαρτά μόνο
- συστήματα αρχείων του συγκεκριμένου τύπου, εάν δοθεί μαζί με την
- επιλογή <option>-a</option>.</para>
-
- <para>Το <quote>ufs</quote> είναι ο προεπιλεγμένος τύπος
- συστήματος αρχείων.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-u</option></term>
-
- <listitem>
- <para>Ανανεώνει τις επιλογές προσάρτησης στο σύστημα
- αρχείων.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-v</option></term>
-
- <listitem>
- <para>Συμπεριλαμβάνει αναλυτική αναφορά.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-w</option></term>
-
- <listitem>
- <para>Προσαρτά το σύστημα αρχείων για ανάγνωση-εγγραφή
- (read-write).</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Η επιλογή <option>-o</option> δέχεται μία σειρά από επιλογές
- χωρισμένες με κόμμα, περιλαμβάνοντας τις ακόλουθες:</para>
-
- <variablelist>
- <varlistentry>
- <term>noexec</term>
-
- <listitem>
- <para>Δεν επιτρέπεται η λειτουργία εκτελέσιμων σε αυτό το
- σύστημα αρχείων. Αυτό είναι επίσης μια επιλογή
- ασφαλείας.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>nosuid</term>
-
- <listitem>
- <para>Δεν λαμβάνονται υπ' όψιν setuid ή setgid flags στο σύστημα
- αρχείων.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 xml:id="disks-umount">
- <title>Η Εντολή <command>umount</command></title>
- <indexterm>
- <primary>συστήματα αρχείων</primary>
- <secondary>αποπροσάρτηση</secondary>
- </indexterm>
-
- <para>Η εντολή &man.umount.8; παίρνει, ως παράμετρο, ένα εκ των σημείων
- προσάρτησης, το όνομα μιας συσκευής, ή τις επιλογές
- <option>-a</option> ή <option>-A</option>.</para>
-
- <para>Όλοι οι τύποι δέχονται την <option>-f</option> για να
- εξαναγκάσουν σε αποπροσάρτηση, και την <option>-v</option> για
- αναλυτική αναφορά. Σας προειδοποιούμε πως η επιλογή
- <option>-f</option> γενικά δεν είναι καλή ιδέα. Η εξ' αναγκασμού
- αποπροσάρτηση μπορεί να οδηγήσει σε κατάρρευση τον υπολογιστή ή να
- καταστρέψει δεδομένα στο σύστημα αρχείων.</para>
-
- <para>Οι <option>-a</option> και <option>-A</option> χρησιμοποιούνται
- για να αποπροσαρτήσουν όλα τα προσαρτημένα συστήματα αρχείων, σύμφωνα
- και με τις επιλογές που δίνονται από το <option>-t</option>, αν
- υπάρχει. Το <option>-A</option>, ωστόσο, δεν θα επιχειρήσει να
- αποπροσαρτήσει το root σύστημα αρχείων.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="basics-processes">
- <title>Διεργασίες</title>
-
- <para>To &os; είναι ένα λειτουργικό σύστημα multi-tasking. Αυτό σημαίνει
- πως κάθε στιγμή μπορούν να τρέχουν παραπάνω από ένα προγράμματα. Κάθε
- πρόγραμμα που τρέχει οποιαδήποτε στιγμή ονομάζεται
- <firstterm>διεργασία</firstterm> (process). Κάθε εντολή που τρέχετε
- ξεκινάει τουλάχιστον μία νέα διεργασία, και υπάρχουν κάποιες διεργασίες
- του συστήματος που τρέχουν συνέχεια για να κρατούν το σύστημα
- σε λειτουργία.</para>
-
- <para>Κάθε διεργασία χαρακτηρίζεται από ένα μοναδικό αριθμό που
- ονομάζεται <firstterm>ID διεργασίας</firstterm> ή
- <firstterm>PID</firstterm>, και όπως ακριβώς συμβαίνει με τα αρχεία,
- κάθε διεργασία έχει έναν ιδιοκτήτη και ένα γκρουπ. Οι πληροφορίες του
- ιδιοκτήτη και του γκρουπ χρειάζονται για να προσδιορίζεται ποια αρχεία
- και συσκευές μπορεί να ανοίξει η συγκεκριμένη διεργασία,
- χρησιμοποιώντας τις άδειες αρχείων που συζητήσαμε νωρίτερα. Οι
- περισσότερες διεργασίες έχουν επίσης μία γονική διεργασία. Η γονική
- διεργασία είναι εκείνη η διεργασία που τις ξεκίνησε. Για παράδειγμα,
- εάν πληκτρολογείτε εντολές στο κέλυφος, τότε το κέλυφος είναι μία
- διεργασία, και κάθε εντολή που τρέχετε είναι επίσης μία διεργασία.
- Επομένως κάθε διεργασία που τρέχετε με αυτόν τον τρόπο θα έχει γονική
- διεργασία το κέλυφος σας. Η μόνη εξαίρεση είναι μία διεργασία που
- ονομάζεται &man.init.8;. Η <command>init</command> είναι πάντα η πρώτη
- διεργασία, και επομένως το PID της είναι πάντα 1. Η
- <command>init</command> ξεκινά αυτόματα από τον πυρήνα κατά την
- εκκίνηση του &os;.</para>
-
- <para>Δύο ιδιαίτερα χρήσιμες εντολές για να παρατηρείτε τις διεργασίες
- στο σύστημα, είναι οι &man.ps.1; και &man.top.1;. Η εντολή
- <command>ps</command> χρησιμοποιείται για την προβολή μιας στατικής
- λίστας των τρέχοντων διεργασιών, και μπορεί να εμφανίζει το PID τους,
- πόση μνήμη χρησιμοποιούν, την εντολή με την οποία ξεκίνησαν, και άλλες
- πληροφορίες. Η εντολή <command>top</command> εμφανίζει όλες τις
- τρέχουσες διεργασίες, και ανανεώνει την οθόνη σας ανά λίγα
- δευτερόλεπτα, επομένως μπορείτε να παρατηρείτε τι ακριβώς κάνει ο
- υπολογιστή σας τη δεδομένη στιγμή.</para>
-
- <para>Η <command>ps</command>, από προεπιλογή, εμφανίζει μόνο τις
- εντολές που τρέχουν και ανήκουν σε εσάς. Για παράδειγμα:</para>
-
- <screen>&prompt.user; <userinput>ps</userinput>
- PID TT STAT TIME COMMAND
- 298 p0 Ss 0:01.10 tcsh
- 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
-37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
-48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
-48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
-72210 p0 R+ 0:00.00 ps
- 390 p1 Is 0:01.14 tcsh
- 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
- 6688 p3 IWs 0:00.00 tcsh
-10735 p4 IWs 0:00.00 tcsh
-20256 p5 IWs 0:00.00 tcsh
- 262 v0 IWs 0:00.00 -tcsh (tcsh)
- 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
- 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
- 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
- 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen>
-
- <para>Όπως μπορείτε να δείτε σε αυτό το παράδειγμα, η έξοδος από την ps
- προβάλλεται σε στήλες. <literal>PID</literal> είναι το PID της
- διεργασίας όπως αναφέραμε νωρίτερα. Τα PID διανέμονται από 1, έως
- 99999, και όταν υπερβούν το 99999 ξεκινούν από την αρχή (ένα PID
- δεν μπορεί να αποδοθεί ξανά αν είναι ήδη σε χρήση). Η στήλη
- <literal>TT</literal> δείχνει το τερματικό (tty) του προγράμματος που
- εκτελείται, και μπορεί να αγνοηθεί αυτή τη στιγμή δίχως πρόβλημα. Η
- <literal>STAT</literal> υποδεικνύει την κατάσταση του προγράμματος, και
- πάλι μπορεί να αγνοηθεί. Η <literal>TIME</literal> είναι η χρονική
- διάρκεια που το πρόγραμμα απασχολεί την CPU, αυτό συνήθως δεν είναι ο
- χρόνος εκτέλεσης αφού τα περισσότερα προγράμματα καθυστερούν με άλλες
- εργασίες πριν απασχολήσουν την CPU. Η τελευταία στήλη, η
- <literal>COMMAND</literal> είναι η γραμμή εντολής που δόθηκε για να
- τρέξει το πρόγραμμα.</para>
-
- <para>Η &man.ps.1; υποστηρίζει διάφορες επιλογές για να αλλάξει την γκάμα
- των πληροφοριών που εμφανίζονται. Μία από τις πιο χρήσιμες επιλογές
- είναι η <literal>auxww</literal>. Η <option>a</option> εμφανίζει
- πληροφορίες για όλες τις τρέχουσες διεργασίες, όχι μόνο τις δικές σας.
- Η <option>u</option> εμφανίζει το όνομα χρήστη του ιδιοκτήτη της
- διεργασίας, όπως και τη χρήσης της μνήμης. Η <option>x</option>
- εμφανίζει πληροφορίες σχετικά με τις διεργασίες των δαιμόνων και η
- <option>ww</option> αναγκάζει την &man.ps.1; να εμφανίσει ολόκληρη την
- εντολή γραμμής για κάθε διεργασία, αφού συνήθως εμφανίζεται κομμένη
- λόγω του μήκους της που δεν χωρά να εμφανιστεί στην οθόνη.</para>
-
- <para>Η έξοδος της &man.top.1; είναι παρόμοια. Ένα δείγμα εργασίας της
- μοιάζει σαν αυτή:</para>
-
- <screen>&prompt.user; <userinput>top</userinput>
-last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
-47 processes: 1 running, 46 sleeping
-CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
-Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
-Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
-
- PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
-72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
- 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
- 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
- 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
-48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
- 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
- 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
-...</screen>
-
- <para>Η έξοδος είναι χωρισμένη σε δύο τομείς. Η κεφαλίδα (οι πέντε
- πρώτες γραμμές) εμφανίζουν το PID της τελευταίας διεργασίας που έτρεξε,
- την μέση τιμή φορτίου (είναι μια μέτρηση που δείχνει πόσο απασχολημένο
- είναι το σύστημα), ο χρόνος λειτουργίας (uptime) του συστήματος
- (από την τελευταία επανεκκίνηση) και την τρέχουσα ώρα. Τα άλλα στοιχεία
- στην κεφαλίδα σχετίζονται με το νούμερο των διεργασιών που τρέχουν
- (47 σε αυτή τη περίπτωση), πόση μνήμη και χώρο swap κατέχουν και πόσο
- χρόνο ξοδεύει το σύστημα σε διάφορες καταστάσεις λειτουργίας της
- CPU.</para>
-
- <para>Πιο κάτω ακολουθεί μια σειρά από στήλες, που περιέχουν παρόμοιες
- πληροφορίες με την έξοδο της ps. Όπως και νωρίτερα μπορείτε να δείτε το
- PID, το όνομα χρήστη, το ποσοστό χρήσης της CPU, και την εντολή με την
- οποία ξεκίνησε η διεργασία. Η &man.top.1; από προεπιλογή, εμφανίζει
- επίσης το ποσοστό μνήμης που χρησιμοποιείται από τη διεργασία. Αυτή
- χωρίζεται σε δύο στήλες. Η μία είναι για το συνολικό μέγεθος μνήμης που
- χρειάστηκε η εφαρμογή, ενώ η άλλη για το μέγεθος της μνήμης που
- καταναλώνει την παρούσα στιγμή. Σε αυτό το παράδειγμα μπορείτε να δείτε
- ότι ο <application>&netscape;</application> χρειάστηκε σχεδόν 30&nbsp;MB
- RAM, αλλά την παρούσα στιγμή χρησιμοποιεί μόνο 9&nbsp;MB.</para>
-
- <para>Η &man.top.1; αυτόματα ανανεώνει το περιεχόμενο της κάθε δύο
- δευτερόλεπτα. Αυτό μπορεί να ρυθμιστεί με την επιλογή
- <option>s</option>.</para>
- </sect1>
-
- <sect1 xml:id="basics-daemons">
- <title>Δαίμονες, Σήματα, και Τερματισμός Διεργασιών</title>
-
- <para>Όταν χρησιμοποιείτε ένα κειμενογράφο, είναι εύκολο να τον ελέγχετε,
- να φορτώνετε αρχεία, και οτιδήποτε άλλο. Αυτό συμβαίνει διότι ο
- κειμενογράφος παρέχει αυτές τις δυνατότητες, και επίσης επειδή
- είναι προσαρτημένος σε ένα <firstterm>τερματικό</firstterm>. Μερικά
- προγράμματα δεν είναι σχεδιασμένα να δουλεύουν με συνεχείς χειρισμούς
- από τον χρήστη, και επομένως αποσυνδέονται από το τερματικό με την
- πρώτη ευκαιρία. Για παράδειγμα, ένας εξυπηρετητής web ξοδεύει όλο του
- το χρόνο στο να απαντά σε αιτήματα web, επομένως δεν χρειάζεται καμιά
- εισαγωγή δεδομένων από τον χρήστη. Άλλο παραπλήσιο παράδειγμα
- εφαρμογής, είναι τα προγράμματα μεταφοράς μηνυμάτων ηλεκτρονικής
- αλληλογραφίας από μια τοποθεσία σε μιαν άλλη.</para>
-
- <para>Ονομάζουμε αυτά τα προγράμματα
- <firstterm>δαίμονες (daemons)</firstterm>. Οι δαίμονες ήταν χαρακτήρες
- της Ελληνικής μυθολογίας (ούτε καλοί - ούτε κακοί), ήταν απλά μικρά
- συνοδευτικά πνεύματα που έκαναν χρήσιμα πράγματα για την ανθρωπότητα,
- όπως ακριβώς και οι διακομιστές web και εξυπηρετητές ηλεκτρονικής
- αλληλογραφίας σήμερα κάνουν χρήσιμα πράγματα. Αυτός είναι και ο λόγος
- για τον οποίο η μασκότ του BSD είναι εδώ και πολύ καιρό ο
- χαρούμενος δαίμονας με πάνινα σπορ παπούτσια και την τρίαινα.</para>
-
- <para>Η ονομασία των προγραμμάτων που τρέχουν σαν δαίμονες συμβατικά
- τελειώνει με <quote>d</quote>. Το <application>BIND</application>
- είναι το Berkeley Internet Name Domain, αλλά το πραγματικό πρόγραμμα
- που τρέχει ονομάζεται <command>named</command>, το πρόγραμμα του
- εξυπηρετητή web <application>Apache</application> λέγεται
- <command>httpd</command>, ο δαίμονας ελέγχου των εκτυπωτών
- γραμμής είναι ο <command>lpd</command> και ούτω καθεξής. Αυτή είναι
- απλά μια σύμβαση, όχι απόλυτος κανόνας, για παράδειγμα, ο κύριος
- δαίμονας ηλεκτρονικής αλληλογραφίας για την εφαρμογή
- <application>Sendmail</application>
- ονομάζεται <command>sendmail</command>, και όχι
- <command>maild</command>, όπως θα ήταν αναμενόμενο.</para>
-
- <para>Μερικές φορές θα χρειαστεί να επικοινωνείτε με τη διεργασία ενός
- δαίμονα. Ένας τρόπος για να γίνει αυτό είναι στέλνοντας (όπως και σε
- κάθε εκτελέσιμη διεργασία) <firstterm>σήματα (signals)</firstterm>.
- Υπάρχουν διάφορα σήματα που μπορείτε να στείλετε &mdash; μερικά από
- αυτά έχουν μια συγκεκριμένη σημασία, ενώ άλλα ερμηνεύονται
- μέσα από την εφαρμογή, και επομένως για να ξέρουμε πως ερμηνεύονται τα
- σήματα θα πρέπει να διαβάσουμε την τεκμηρίωση της εφαρμογής. Μπορείτε
- να στείλετε σήμα σε μια διεργασία μόνο αν σας ανήκει. Αν στείλετε σήμα
- σε μια διεργασία που ανήκει σε κάποιον άλλο με &man.kill.1; ή
- &man.kill.2;, δεν θα σας επιτραπεί. Η μοναδική εξαίρεση σε αυτό, είναι
- ο χρήστης <systemitem class="username">root</systemitem>, που μπορεί να στέλνει σήματα στις
- διεργασίες οποιουδήποτε άλλου χρήστη του συστήματος.</para>
-
- <para>Το &os; στέλνει επίσης σήματα σε εφαρμογές σε μερικές περιπτώσεις.
- Αν μία εφαρμογή είναι γραμμένη άσχημα, και προσπαθεί να προσπελάσει
- μνήμη που δεν της ανήκει, το &os; στέλνει στη διεργασία το σήμα
- <firstterm>Segmentation Violation</firstterm>
- (<literal>SIGSEGV</literal>). Αν μια εφαρμογή χρησιμοποίησε το σύστημα
- ειδοποίησης &man.alarm.3; για να ειδοποιηθεί μετά την πάροδο μιας
- χρονικής περιόδου τότε το &os; θα στείλει το Alarm signal
- (<literal>SIGALRM</literal>), και ούτω καθ'εξής.</para>
-
- <para>Δύο σήματα μπορούν να χρησιμοποιηθούν για να σταματήσουν μία
- διαδικασία, το <literal>SIGTERM</literal> και το
- <literal>SIGKILL</literal>. Το <literal>SIGTERM</literal> είναι ο
- σωστός τρόπος για να σταματήσουμε μια διαδικασία. Η διεργασία
- <emphasis>αντιλαμβάνεται</emphasis> το σήμα, εκτελεί το σταμάτημα
- κλείνοντας όλα τα αρχεία αναφοράς (log files), που πιθανώς να είναι
- ανοιχτά, και γενικώς τελειώνει οτιδήποτε κάνει την συγκεκριμένη
- χρονική στιγμή πριν σταματήσει. Σε μερικές περιπτώσεις η διεργασία
- μπορεί να αγνοήσει το <literal>SIGTERM</literal> εάν βρίσκεται στα
- μισά κάποιας εργασίας που δεν μπορεί να διακοπεί.</para>
-
- <para>Το σήμα <literal>SIGKILL</literal> δεν μπορεί να αγνοηθεί από μία
- διεργασία. Είναι σαν να λέει στη διεργασία,
- <quote>Δεν με ενδιαφέρει τι κάνεις, σταμάτα τώρα αμέσως</quote>. Αν
- στείλετε το σήμα <literal>SIGKILL</literal> σε μια διαδικασία τότε το
- &os; θα σταματήσει την διαδικασία άμεσα
-
- <footnote>
- <para>Αυτό δεν είναι απόλυτα αληθές &mdash; Υπάρχουν μερικά πράγματα
- που δεν μπορούν να διακοπούν. Για παράδειγμα, εάν η διεργασία
- προσπαθεί να διαβάσει ένα αρχείο από άλλον υπολογιστή στο δίκτυο
- και ξαφνικά αυτός ο άλλος υπολογιστής διακόψει για κάποιο λόγο
- (λόγω κλεισίματος του pc ή λόγω βλάβης στο δίκτυο), τότε η διεργασία
- ονομάζεται μη <quote>διακόψιμη</quote>. Πιθανώς η διεργασία να
- κάνει time out, συνήθως μετά από δύο λεπτά. Μόλις συμβεί αυτό, θα
- τερματιστεί άμεσα.</para>
- </footnote>.</para>
-
- <para>Άλλα σήματα που πιθανώς να θέλετε να χρησιμοποιήσετε είναι τα
- <literal>SIGHUP</literal>, <literal>SIGUSR1</literal>, και
- <literal>SIGUSR2</literal>. Αυτά είναι σήματα γενικής χρήσης, και
- όταν αποστέλλονται κάνουν διαφορετικά πράγματα ανάλογα με την
- εφαρμογή.</para>
-
- <para>Ας υποθέσουμε πως αλλάξατε το αρχείο ρύθμισης του εξυπηρετητή
- διαδικτύου σας, και πως θα θέλατε να πείτε στον εξυπηρετητή να
- ξαναδιαβάσει τις ρυθμίσεις. Θα μπορούσατε να σταματήσετε και να
- επανεκκινήσετε το <command>httpd</command>, αλλά αυτό θα οδηγούσε σε
- μια χρονική περίοδο όπου ο εξυπηρετητής θα έμενε εκτός λειτουργίας,
- κάτι το οποίο μπορεί να είναι ανεπιθύμητο. Οι περισσότεροι δαίμονες
- είναι σχεδιασμένοι να απαντούν σε σήματα <literal>SIGHUP</literal> για
- την εκ νέου ανάγνωση του αρχείου ρύθμισης τους. Επομένως, αντί να
- σταματήσουμε και να επανεκκινήσουμε το <command>httpd</command> θα
- μπορούσαμε να του στείλουμε το σήμα <literal>SIGHUP</literal>. Επειδή
- δεν υπάρχει συγκεκριμένος τρόπος στην απάντηση αυτών των σημάτων, και
- διαφορετικοί δαίμονες έχουν διαφορετική συμπεριφορά, πρέπει να
- διαβάσετε πρώτα την τεκμηρίωση για τον συγκεκριμένο δαίμονα.</para>
-
- <para>Τα σήματα στέλνονται χρησιμοποιώντας την εντολή &man.kill.1;, όπως
- υποδεικνύει το ακόλουθο παράδειγμα.</para>
-
- <procedure>
- <title>Στέλνοντας Σήμα σε μία Διεργασία</title>
-
- <para>Αυτό το παράδειγμα δείχνει πως να στείλετε σήμα στην
- &man.inetd.8;. Το αρχείο ρύθμισης της <command>inetd</command> είναι
- το <filename>/etc/inetd.conf</filename>, και η
- <command>inetd</command> θα ξανα-διαβάσει αυτό το αρχείο ρύθμισης
- όταν θα σταλεί το σήμα <literal>SIGHUP</literal>.</para>
-
- <step>
- <para>Βρείτε το PID της διεργασίας, της οποίας επιθυμείτε να στείλετε
- το σήμα. Ενεργήστε χρησιμοποιώντας τις εντολές &man.ps.1; και
- &man.grep.1;. Η εντολή &man.grep.1; χρησιμοποιείται για να ψάξει
- στην έξοδο μιας εντολής, για τους αλφαριθμητικούς χαρακτήρες που
- έχετε ορίσει. Η εντολή εκτελείται από έναν απλό χρήστη, ενώ η
- &man.inetd.8; εκτελείται από τον <systemitem class="username">root</systemitem>,
- επομένως θα πρέπει να προσθέσετε την επιλογή <option>ax</option>
- στην &man.ps.1;.</para>
-
- <screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput>
- 198 ?? IWs 0:00.00 inetd -wW</screen>
-
- <para>Επομένως το PID της &man.inetd.8; είναι το 198. Σε μερικές
- περιπτώσεις μπορεί να εμφανίζεται στην έξοδο η εντολή
- <literal>grep inetd</literal>. Αυτό οφείλεται στον τρόπο με τον
- οποίο η &man.ps.1; ψάχνει την λίστα των ενεργών διεργασιών.</para>
- </step>
-
- <step>
- <para>Χρησιμοποιήστε την &man.kill.1; για να στείλετε το σήμα.
- Επειδή η &man.inetd.8; τρέχει από τον <systemitem class="username">root</systemitem>
- θα πρέπει πρώτα να χρησιμοποιήσετε &man.su.1; για να γίνετε
- πρώτα <systemitem class="username">root</systemitem>.</para>
-
- <screen>&prompt.user; <userinput>su</userinput>
-<prompt>Password:</prompt>
-&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
-
- <para>Όπως και με τις περισσότερες εντολές στο &unix;, η
- &man.kill.1; δεν θα τυπώσει τίποτε στην έξοδο αν η εντολή είχε
- επιτυχία. Εάν στείλετε ένα σήμα σε μια διεργασία που δεν σας
- ανήκει θα δείτε <errorname>kill: <replaceable>PID</replaceable>:
- Operation not permitted</errorname>. Αν πληκτρολογήσετε λάθος
- το PID τότε ή θα στείλετε το σήμα σε λάθος διεργασία,κάτι που
- μπορεί να είναι άσχημο, ή, αν είστε τυχερός, θα έχετε στείλει το
- σήμα σε ένα PID που δεν χρησιμοποιείται τη συγκεκριμένη στιγμή, και
- θα δείτε <errorname>kill: <replaceable>PID</replaceable>: No such
- process</errorname>.</para>
-
- <note>
- <title>Γιατί να χρησιμοποιήσετε την εντολή
- <command>/bin/kill</command>;</title>
-
- <para>Πολλά κελύφη παρέχουν την εντολή <command>kill</command> ως
- ενσωματωμένη εντολή. Αυτό σημαίνει πως το κέλυφος θα στείλει
- το σήμα άμεσα, αντί να τρέξει το <filename>/bin/kill</filename>.
- Αυτό μπορεί να είναι πολύ χρήσιμο, αλλά διαφορετικά κελύφη έχουν
- διαφορετική σύνταξη για τον καθορισμό το όνομα του σήματος που
- πρέπει να αποσταλεί. Αντί λοιπόν να πρέπει να μάθουμε όλες τις
- περιπτώσεις ,είναι ευκολότερο απλά να χρησιμοποιούμε την εντολή
- <command>/bin/kill ...</command>
- άμεσα.</para>
- </note>
- </step>
- </procedure>
-
- <para>Η αποστολή άλλων σημάτων μοιάζει πάρα πολύ, απλά αντικαταστήστε
- το <literal>TERM</literal> ή το <literal>KILL</literal> στη γραμμή
- εντολών με κάποιο άλλο.</para>
-
- <important>
- <para>Η φόνευση τυχαίων διεργασιών στο σύστημα μπορεί να είναι κακή
- ιδέα. Ιδιαίτερα, η &man.init.8;, με PID 1, είναι πολύ ειδική. Η
- εκτέλεση της εντολής <command>/bin/kill -s KILL 1</command> είναι
- ένας γρήγορος τρόπος να σβήσετε το σύστημα σας.
- <emphasis>Πάντα</emphasis> να ελέγχετε δύο φορές τις παραμέτρους που
- χρησιμοποιείτε με την &man.kill.1; <emphasis>πριν</emphasis>
- πιέσετε <keycap>Return</keycap>.</para>
- </important>
- </sect1>
-
- <sect1 xml:id="shells">
- <title>Κελύφη</title>
- <indexterm><primary>κελύφη</primary></indexterm>
- <indexterm><primary>γραμμή εντολών</primary></indexterm>
-
- <para>Στο &os; ένα μεγάλο μέρος της καθημερινής εργασίας γίνεται σε ένα
- περιβάλλον γραμμής εντολών ονόματι κέλυφος (shell). Η κύρια δουλειά
- του κελύφους είναι να παίρνει εντολές από το κανάλι εισόδου και να τις
- εκτελεί. Μερικά κελύφη έχουν ενσωματωμένες λειτουργίες ώστε να βοηθούν
- στις καθημερινές προγραμματισμένες εργασίες όπως διαχείριση αρχείων,
- file globbing, επεξεργασία γραμμής εντολών, μακροεντολές, και
- μεταβλητές περιβάλλοντος. Το &os; διατίθεται με διάφορα κελύφη, όπως το
- <command>sh</command>, το Bourne Shell και το <command>tcsh</command>,
- το βελτιωμένο C-shell. Διάφορα άλλα κελύφη είναι διαθέσιμα από την
- Συλλογή των Ports του &os;, όπως τα <command>zsh</command> και
- <command>bash</command>.</para>
-
- <para>Ποιο κέλυφος να χρησιμοποιήσετε; Είναι πραγματικά θέμα γούστου.
- Εάν είστε προγραμματιστής σε γλώσσα C θα αισθανθείτε περισσότερο
- οικείος με τα κελύφη τύπου C, όπως το <command>tcsh</command>. Εάν
- έρχεστε από το Linux ή είστε νέος σε περιβάλλον γραμμής εντολών &unix;
- μπορείτε να δοκιμάσετε το <command>bash</command>. Η ουσία είναι πως
- κάθε κέλυφος έχει μοναδικές ιδιότητες που μπορεί να συνεργαστούν με το
- περιβάλλον εργασίας της προτίμησης σας, και επομένως είναι επιλογή σας
- ποιο κέλυφος να χρησιμοποιήσετε.</para>
-
- <para>Μια κοινή ιδιότητα όλων των κελυφών είναι η αυτόματη συμπλήρωση
- ονομάτων αρχείων. Αφού έχετε πληκτρολογήσει τα πρώτα γράμματα μιας
- εντολής ή ενός ονόματος αρχείου αν πιέσετε το πλήκτρο
- <keycap>Tab</keycap> στο πληκτρολόγιο, τότε το κέλυφος αυτόματα θα
- ολοκληρώσει το υπόλοιπο της εντολής ή του ονόματος αρχείου. Ας δώσουμε
- ένα παράδειγμα. Ας υποθέσουμε πως έχετε δύο αρχεία
- <filename>foobar</filename> και <filename>foo.bar</filename>. Αν
- θέλετε να σβήσετε το <filename>foo.bar</filename> θα πρέπει να
- πληκτρολογήσετε
- <command>rm fo[Tab].[Tab]</command>.</para>
-
- <para>Το κέλυφος θα τυπώσει αυτόματα <command>rm foo[BEEP].bar</command>.</para>
-
- <para>Το [BEEP] είναι το κουδούνι της κονσόλας, το οποίο μας πληροφορεί
- πως δεν ήταν δυνατόν να ολοκληρώσει το όνομα του αρχείου διότι υπάρχουν
- περισσότερα από ένα ονόματα αρχείων που ταιριάζουν. Όντως το
- <filename>foobar</filename> και το <filename>foo.bar</filename>
- ξεκινούν με <literal>fo</literal>, και το κέλυφος κατάφερε να
- συμπληρώσει ως το <literal>foo</literal>. Αν πληκτρολογήσετε επιπλέον
- <literal>.</literal>, και μετά πάλι <keycap>Tab</keycap>, το κέλυφος
- θα καταφέρει να συμπληρώσει το υπόλοιπο του ονόματος αρχείου
- για σας.</para>
-
- <indexterm><primary>μεταβλητές περιβάλλοντος</primary></indexterm>
-
- <para>Άλλο ιδιαίτερο χαρακτηριστικό του κελύφους είναι η χρήση των
- μεταβλητών περιβάλλοντος. Οι μεταβλητές περιβάλλοντος είναι ένα ζεύγος
- μεταβλητών/κλειδιών αποθηκευμένα στον περιβάλλοντα χώρο του κελύφους
- Αυτός ο χώρος μπορεί να διαβαστεί από οποιοδήποτε πρόγραμμα που
- καλείται από το κέλυφος, και έτσι περιέχει πλήθος ρυθμίσεων
- προγραμμάτων. Ακολουθεί μία λίστα με συνήθεις μεταβλητές περιβάλλοντος
- και τη σημασία τους:</para>
-
- <indexterm><primary>μεταβλητές περιβάλλοντος</primary></indexterm>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Μεταβλητή</entry>
- <entry>Περιγραφή</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><envar>USER</envar></entry>
- <entry>Όνομα του τρέχοντα χρήστη.</entry>
- </row>
-
- <row>
- <entry><envar>PATH</envar></entry>
- <entry>Λίστα καταλόγων για την αναζήτηση εκτελέσιμων χωρισμένη
- με άνω-κάτω τελείες.</entry>
- </row>
-
- <row>
- <entry><envar>DISPLAY</envar></entry>
- <entry>Όνομα δικτύου της οθόνης X11 που είναι διαθέσιμη για
- σύνδεση, αν υπάρχει.</entry>
- </row>
-
- <row>
- <entry><envar>SHELL</envar></entry>
- <entry>Το ενεργό κέλυφος.</entry>
- </row>
-
- <row>
- <entry><envar>TERM</envar></entry>
- <entry>Το όνομα του τύπου του τερματικού χρήστη. Ορίζει τις
- δυνατότητες του τερματικού.</entry>
- </row>
-
- <row>
- <entry><envar>TERMCAP</envar></entry>
- <entry>Εγγραφή στη βάση δεδομένων κωδικών escape για διάφορες
- λειτουργίες τερματικών.</entry>
- </row>
-
- <row>
- <entry><envar>OSTYPE</envar></entry>
- <entry>Ο τύπος του λειτουργικού συστήματος π.χ., &os;.</entry>
- </row>
-
- <row>
- <entry><envar>MACHTYPE</envar></entry>
- <entry>Η αρχιτεκτονική CPU στην οποία δουλεύει το σύστημα.</entry>
- </row>
-
- <row>
- <entry><envar>EDITOR</envar></entry>
- <entry>Ο προεπιλεγμένος κειμενογράφος του χρήστη.</entry>
- </row>
-
- <row>
- <entry><envar>PAGER</envar></entry>
- <entry>Το προεπιλεγμένο πρόγραμμα σελιδοποίησης του
- χρήστη.</entry>
- </row>
-
- <row>
- <entry><envar>MANPATH</envar></entry>
- <entry>Λίστα καταλόγων για την αναζήτηση των σελίδων βοηθείας
- (man pages) χωρισμένη με άνω-κάτω τελείες.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <indexterm><primary>Bourne shells</primary></indexterm>
-
- <para>Ο ορισμός μιας μεταβλητής περιβάλλοντος διαφέρει κάπως από κέλυφος
- σε κέλυφος. Για παράδειγμα στα κελύφη τύπου-C, όπως τα
- <command>tcsh</command> και <command>csh</command>, θα πρέπει να
- χρησιμοποιήσετε την <command>setenv</command> για να ορίσετε μεταβλητές
- περιβάλλοντος. Σε κελύφη Bourne όπως τα <command>sh</command> και
- <command>bash</command>, θα πρέπει να χρησιμοποιείτε την
- <command>export</command> για να θέσετε τις τρέχουσες μεταβλητές
- περιβάλλοντος. Για παράδειγμα, για να ορίσετε ή να μετατρέψετε την
- μεταβλητή περιβάλλοντος <envar>EDITOR</envar>, σε
- <command>csh</command> ή <command>tcsh</command> θα πρέπει να δώσετε
- μια εντολή που να θέτει τη μεταβλητή <envar>EDITOR</envar> στο
- <filename>/usr/local/bin/emacs</filename>:</para>
-
- <screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
-
- <para>Για κελύφη Bourne:</para>
-
- <screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen>
-
- <para>Μπορείτε επίσης στα περισσότερα κελύφη να αναπτύσσετε τις
- μεταβλητές περιβάλλοντος τοποθετώντας μπροστά τους τον χαρακτήρα
- <literal>$</literal>. Για παράδειγμα, η <command>echo $TERM</command>
- θα τυπώσει την τιμή που έχουμε θέσει στην μεταβλητή, διότι το κέλυφος
- αναπτύσσει την <envar>$TERM</envar> και περνά την τιμή της στην
- <command>echo</command>.</para>
-
- <para>Τα κελύφη χρησιμοποιούν μερικούς ειδικούς χαρακτήρες, που
- ονομάζονται meta-χαρακτήρες για εμφανίσεις ιδιαίτερων δεδομένων. Ο πιο
- κοινός εξ' αυτών είναι ο χαρακτήρας <literal>*</literal>, ο οποίος
- αντιπροσωπεύει οποιοδήποτε αλφαριθμητικό χαρακτήρα σε ένα όνομα αρχείου.
- Αυτοί οι ειδικοί meta-χαρακτήρες μπορούν να χρησιμοποιηθούν για να
- κάνουν filename globbing. Για παράδειγμα, αν πληκτρολογήσετε
- <command>echo *</command> είναι σχεδόν το ίδιο με το να δώσετε
- <command>ls</command> διότι το κέλυφος παίρνει όλα τα αρχεία που
- ταιριάζουν με <literal>*</literal> και τα προωθεί στην γραμμή εντολών
- για την <command>echo</command>.</para>
-
- <para>Για να εμποδίσετε το κέλυφος να επεξεργαστεί αυτούς τους ειδικούς
- χαρακτήρες, μπορείτε να χρησιμοποιήσετε το σύμβολο διαφυγής (escape)
- τοποθετώντας μπροστά τους μια δεξιόστροφη κάθετο
- (<literal>\</literal>). Η <command>echo $TERM</command> τυπώνει τον
- τύπο του τερματικού σας, ενώ η <command>echo \$TERM</command> τυπώνει
- απλά <envar>$TERM</envar>.</para>
-
- <sect2 xml:id="changing-shells">
- <title>Αλλάζοντας το Κέλυφος σας</title>
-
- <para>Ο ευκολότερος τρόπος για να αλλάξετε το κέλυφος σας είναι να
- χρησιμοποιήσετε την εντολή <command>chsh</command>. Τρέχοντας την
- <command>chsh</command> θα οδηγηθείτε στον κειμενογράφο που έχετε
- θέσει στην μεταβλητή περιβάλλοντος <envar>EDITOR</envar>, ενώ αν δεν
- έχετε θέσει, θα οδηγηθείτε στο <command>vi</command>. Αλλάξτε
- κατάλληλα τη γραμμή <quote>Shell:</quote></para>
-
- <para>Μπορείτε επίσης να δώσετε στην <command>chsh</command> την
- επιλογή <option>-s</option>, αυτή θα θέσει το κέλυφος για σας, δίχως
- να χρειαστεί να χρησιμοποιήσετε τον κειμενογράφο. Για παράδειγμα, αν
- θέλετε να αλλάξετε το κέλυφος σας σε <command>bash</command>, η
- ακόλουθη εντολή είναι ακριβώς αυτό που χρειάζεστε:</para>
-
- <screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
-
- <note>
- <para>Το κέλυφος στο οποίο επιθυμείτε να μεταβείτε
- <emphasis>πρέπει</emphasis> να είναι καταχωρημένο στο αρχείο
- <filename>/etc/shells</filename>. Αν έχετε εγκαταστήσει ένα
- κέλυφος από τη <link linkend="ports">συλλογή των ports</link>, τότε
- αυτό θα πρέπει να έχει ήδη γίνει. Αν εγκαταστήσατε το κέλυφος μόνοι
- σας, τότε θα πρέπει να εκτελέσετε τη διαδικασία που
- ακολουθεί.</para>
-
- <para>Αν για παράδειγμα, εγκαταστήσατε το <command>bash</command>
- μόνοι σας και το τοποθετήσατε στον
- <filename>/usr/local/bin</filename>, τότε θα πρέπει να
- δώσετε:</para>
-
- <screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen>
-
- <para>Και μετά ξανατρέξτε την <command>chsh</command>.</para>
- </note>
- </sect2>
- </sect1>
-
- <sect1 xml:id="editors">
- <title>Κειμενογράφοι</title>
- <indexterm><primary>κειμενογράφοι</primary></indexterm>
- <indexterm><primary>επεξεργαστές κειμένου</primary></indexterm>
-
- <para>Αρκετές ρυθμίσεις στο &os; γίνονται με επεξεργασία αρχείων
- κειμένου. Για αυτό το λόγο, θα ήταν καλή ιδέα να εξοικειωθείτε με ένα
- κειμενογράφο. Αρκετοί περιέχονται στο βασικό σύστημα του &os; και
- πολλοί περισσότεροι είναι διαθέσιμοι στην Συλλογή των Ports
- (Ports Collection).</para>
-
- <indexterm>
- <primary><command>ee</command></primary>
- </indexterm>
- <indexterm>
- <primary>κειμενογράφοι</primary>
- <secondary><command>ee</command></secondary>
- </indexterm>
-
- <para>Ο ευκολότερος και απλούστερος κειμενογράφος για να μάθετε ονομάζεται
- <application>ee</application>, που σημαίνει easy editor (εύκολος
- κειμενογράφος). Για να ξεκινήσετε τον <application>ee</application>,
- πρέπει να πληκτρολογήσετε στην γραμμή εντολών
- <command>ee filename</command> όπου
- <replaceable>filename</replaceable> είναι το όνομα του αρχείου που
- θέλετε να επεξεργαστείτε. Για παράδειγμα, για να επεξεργαστείτε το
- <filename>/etc/rc.conf</filename>, πληκτρολογείτε
- <command>ee /etc/rc.conf</command>. Μόλις εισέλθετε στο
- <command>ee</command>, όλες οι εντολές για να χειριστείτε τις
- λειτουργίες του κειμενογράφου αναφέρονται στο πάνω μέρος της οθόνης.
- Ο χαρακτήρας καπέλο <literal>^</literal> σημαίνει το πλήκτρο
- <keycap>Ctrl</keycap>, επομένως <literal>^e</literal> σημαίνει πως
- πρέπει να πληκτρολογήσετε τον συνδυασμό πλήκτρων
- <keycombo action="simul"><keycap>Ctrl</keycap><keycap>e</keycap>
- </keycombo>. Για να βγείτε από το <application>ee</application>,
- πιέζετε το πλήκτρο <keycap>Esc</keycap>, και επιλέγετε leave editor.
- Ο κειμενογράφος θα σας προτρέψει να σώσετε τυχόν αλλαγές, αν έχετε
- επεξεργαστεί το αρχείο.</para>
-
- <indexterm>
- <primary><command>vi</command></primary>
- </indexterm>
- <indexterm>
- <primary>editors</primary>
- <secondary><command>vi</command></secondary>
- </indexterm>
- <indexterm>
- <primary><command>emacs</command></primary>
- </indexterm>
- <indexterm>
- <primary>editors</primary>
- <secondary><command>emacs</command></secondary>
- </indexterm>
- <para>Το &os; παρέχεται επίσης με πιο εξελιγμένους κειμενογράφους όπως
- το ενσωματωμένο στο βασικό σύστημα <application>vi</application>. Το
- <application>Emacs</application> και το <application>vim</application>,
- είναι μέρος της Συλλογής των Ports του &os;
- (<package>editors/emacs</package> και
- <package>editors/vim</package>). Αυτοί οι
- κειμενογράφοι προσφέρουν πολλές περισσότερες λειτουργίες και
- δυνατότητες, με κόστος αυξημένη πολυπλοκότητα και δυσκολία εκμάθησης.
- Ωστόσο αν σχεδιάζετε να επεξεργαστείτε αρκετά κείμενα, η εκμάθηση ενός
- ισχυρού κειμενογράφου όπως το
- <application>vim</application> ή το <application>Emacs</application> θα
- σας γλυτώσει πολύ περισσότερο χρόνο επεξεργασίας στην πορεία.</para>
-
- <para>Πολλές εφαρμογές που χρειάζεται να αλλάξουν κάποιο αρχείο ή
- απαιτούν από το χρήστη να πληκτρολογήσει κάποιο κείμενο, θα ανοίξουν
- αυτόματα κάποιο κειμενογράφο. Για να αλλάξετε τον προεπιλεγμένο
- κειμενογράφο, θα πρέπει να θέσετε κατάλληλη τιμή στην μεταβλητή
- περιβάλλοντος <envar>EDITOR</envar>. Δείτε την ενότητα <link linkend="shells">Κελύφη</link> για περισσότερες λεπτομέρειες.</para>
- </sect1>
-
- <sect1 xml:id="basics-devices">
- <title>Συσκευές και Αρχεία συσκευών</title>
-
- <para>Συσκευή είναι ένας όρος που αναφέρεται σε σχέση με
- λειτουργίες hardware ενός συστήματος, περιλαμβάνοντας δίσκους,
- εκτυπωτές, κάρτες γραφικών και πληκτρολόγια. Κατά την εκκίνηση του &os;
- οι περισσότερες πληροφορίες που αναγράφονται στην οθόνη είναι συσκευές
- που αναγνωρίζονται από το σύστημα. Μπορείτε να ξαναδείτε τα μηνύματα
- εκκίνησης, διαβάζοντας το <filename>/var/run/dmesg.boot</filename>.</para>
-
- <para>Για παράδειγμα, <filename>acd0</filename> είναι ο πρώτος
- οδηγός IDE CDROM, ενώ το <filename>kbd0</filename> αντιπροσωπεύει
- το πληκτρολόγιο.</para>
-
- <para>Στις περισσότερες από αυτές τις συσκευές σε ένα λειτουργικό σύστημα
- &unix; η πρόσβαση πρέπει να γίνεται διαμέσου ειδικών αρχείων που
- ονομάζονται αρχεία συσκευών, και είναι τοποθετημένα στον κατάλογο
- <filename>/dev</filename>.</para>
-
- <sect2>
- <title>Δημιουργώντας Αρχεία Συσκευών</title>
- <para>Όταν προσθέτετε μια νέα συσκευή στο σύστημα σας, ή μεταγλωττίζετε
- πηγαίο κώδικα για υποστήριξη νέων οδηγών, πρέπει να δημιουργούνται
- νέα αρχεία συσκευών.</para>
-
- <sect3>
- <title><literal>DEVFS</literal> (DEVice File System)</title>
-
- <para> Το σύστημα αρχείων συσκευών ή, <literal>DEVFS</literal>,
- παρέχει πρόσβαση στο χώρο ονομάτων συσκευών του πυρήνα (device
- namespace) στο global σύστημα αρχείων του συστήματος. Αντί να
- δημιουργείτε και να μετατρέπετε αρχεία συσκευών, το
- <literal>DEVFS</literal> συντηρεί για σας αυτό το ιδιαίτερο σύστημα
- αρχείων.</para>
-
- <para>Δείτε την σελίδα βοηθείας &man.devfs.5; για περισσότερες
- πληροφορίες.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="binary-formats">
- <title>Τύποι Εκτελέσιμων</title>
-
- <para>Για να καταλάβετε γιατί το &os; χρησιμοποιεί τον τύπο &man.elf.5;
- θα πρέπει πρώτα να γνωρίζετε μερικά πράγματα για τους τρεις
- <quote>κυρίαρχους</quote> τύπους εκτελέσιμων για το &unix;</para>
-
- <itemizedlist>
- <listitem>
- <para>&man.a.out.5;</para>
-
- <para>Ο παλαιότερος και πιο <quote>κλασσικός</quote> τύπος
- αντικειμένων του &unix;. Χρησιμοποιεί μια μικρή και συμπαγή
- κεφαλίδα με ένα μαγικό νούμερο στην αρχή που συχνά χρησιμοποιείται
- για να χαρακτηρίζει τον τύπο (δείτε για περισσότερες πληροφορίες
- την &man.a.out.5;). Περιέχει τρία φορτωμένα τμήματα: .text, .data
- και .bss και επιπλέον ένα πίνακα συμβόλων και ένα πίνακα
- αλφαριθμητικών χαρακτήρων.</para>
- </listitem>
-
- <listitem>
- <para><acronym>COFF</acronym></para>
-
- <para>Ο τύπος αντικειμένου SVR3. Η κεφαλίδα τώρα αποτελείται από ένα
- πίνακα τομέων, ώστε να μπορούμε να έχουμε κάτι παραπάνω από απλά
- .text, .data και .bss.</para>
- </listitem>
-
- <listitem>
- <para>&man.elf.5;</para>
-
- <para>Ο διάδοχος του <acronym>COFF</acronym>, περιλαμβάνει πολλαπλά
- τμήματα και δέχεται τιμές 32 ή 64 bit. Το βασικό μειονέκτημα:
- Ο <acronym>ELF</acronym> σχεδιάστηκε με την προϋπόθεση πως θα
- υπήρχε μόνο ένα ABI για κάθε αρχιτεκτονική συστήματος. Αυτή η
- υπόθεση είναι όμως εσφαλμένη τώρα, αφού ακόμη και στον εμπορικό
- κόσμο του SYSV (όπου υπάρχουν τουλάχιστον τρία ABI: SRV4, Solaris,
- SCO) δεν ισχύει.</para>
-
- <para>Το &os; προσπαθεί να ξεπεράσει αυτό το πρόβλημα παρέχοντας
- ένα βοηθητικό πρόγραμμα με το οποίο μπορούμε να
- <emphasis>ενσωματώσουμε (branding)</emphasis> σε ένα εκτελέσιμο
- <acronym>ELF</acronym> τις πληροφορίες για το ABI που είναι συμβατό
- με αυτό. Δείτε την σελίδα manual του &man.brandelf.1; για
- περισσότερες πληροφορίες.</para>
- </listitem>
- </itemizedlist>
-
- <para>Το &os; προέρχεται από τον <quote>κλασσικό</quote> χώρο και
- μέχρι την αρχή της σειράς 3.X, χρησιμοποιούσε τον τύπο &man.a.out.5;,
- μια τεχνολογία δοκιμασμένη και αποδεδειγμένη σε πολλές γενιές εκδόσεων
- του BSD. Αν και η μεταγλώττιση και εκτέλεση εγγενών εκτελέσιμων (και
- πυρήνων) τύπου <acronym>ELF</acronym> ήταν δυνατή στα &os; συστήματα
- ήδη από πολύ καιρό πριν, το &os; αρχικά αντιστάθηκε στην
- <quote>ώθηση</quote> για καθιέρωση του <acronym>ELF</acronym> ως
- προκαθορισμένου τύπου. Γιατί; Όταν ο κόσμος του Λίνουξ έκανε την
- οδυνηρή μετάβαση προς το <acronym>ELF</acronym>, δεν ήταν τόσο για να
- ξεφύγει από τον τύπο εκτελέσιμων <filename>a.out</filename> όσο για να
- αντιμετωπίσει το δύσκαμπτο δικό τους μηχανισμό κοινόχρηστων βιβλιοθηκών,
- ο οποίος βασίζονταν σε jump-tables και προκαλούσε μεγάλη δυσχέρεια στην
- κατασκευή τους, τόσο στους προγραμματιστές όσο και στους μεταπωλητές.
- Από τη στιγμή που τα διαθέσιμα εργαλεία του <acronym>ELF</acronym>
- προσέφεραν λύση στο πρόβλημα των κοινών βιβλιοθηκών και έγινε γενικώς
- αποδεκτό πως ήταν <quote>ο δρόμος προς τα εμπρός</quote>, έγινε
- αποδεκτό το αναγκαίο κόστος της μεταφοράς και επιτεύχθηκε η μετακίνηση.
- Ο μηχανισμός κοινόχρηστων βιβλιοθηκών του &os; βασίζεται σε μεγάλο
- βαθμό στον αντίστοιχο μηχανισμό του &sunos; της Sun και είναι πολύ
- εύκολος στη χρήση.</para>
-
- <para>Τότε, γιατί υπάρχουν τόσοι διαφορετικοί τύποι;</para>
-
- <para>Πίσω στο σκοτεινό παρελθόν, υπήρχε απλό hardware. Αυτό
- το απλό hardware υποστήριζε ένα απλό, μικρό σύστημα. Το
- <filename>a.out</filename> ήταν απόλυτα κατάλληλο για την αναπαράσταση
- εκτελέσιμων σε αυτό το απλό σύστημα (ένα PDP-11). Όταν ο κόσμος άρχισε
- να μεταφέρει το &unix; από αυτό το απλό σύστημα, διατηρήθηκε ο τύπος
- <filename>a.out</filename> γιατί ήταν ικανοποιητικός για τα πρώτα
- ports του &unix; σε αρχιτεκτονικές όπως η Motorola 68k, VAXen,
- κτλ.</para>
-
- <para>Μετέπειτα κάποιος λαμπρός μηχανικός hardware αποφάσισε
- πως αφού μπορούσε να εξαναγκάζει το λογισμικό να κάνει τόσα
- πρόχειρα κόλπα, θα μπορούσε επίσης να παραλείψει μερικές πύλες
- από το σχεδιασμό ώστε να επιτρέψει στον πυρήνα της CPU να τρέχει
- γρηγορότερα. Αν και διασκευάσθηκε ώστε να δουλεύει με αυτό το νέο
- είδος hardware (γνωστό σήμερα ως <acronym>RISC</acronym>), ο τύπος
- <filename>a.out</filename> ήταν τελικά ακατάλληλος για αυτό, και έτσι
- σχεδιάστηκαν πολλοί νέοι τύποι για να επιτευχθεί καλύτερη απόδοση από
- το hardware από ότι ήταν δυνατόν με τον απλό και περιοριστικό τύπο
- <filename>a.out</filename>. Εφευρέθηκαν διάφοροι τύποι όπως οι
- <acronym>COFF</acronym>, <acronym>ECOFF</acronym>, και μερικοί άλλοι
- λιγότερο γνωστοί, και ερευνήθηκαν οι περιορισμοί τους ώσπου τα πράγματα
- σταθεροποιήθηκαν στο <acronym>ELF</acronym>.</para>
-
- <para>Επιπλέον, το μέγεθος των προγραμμάτων γινόταν όλο και μεγαλύτερο
- και οι δίσκοι (και η φυσική μνήμη) ήταν ακόμη σχετικά μικροί και κάπως
- έτσι γεννήθηκε η ιδέα της κοινής βιβλιοθήκης. Το σύστημα VM έγινε
- επίσης περισσότερο περίπλοκο. Κάθε μία από τις βελτιώσεις γινόταν
- με βάση τον τύπο <filename>a.out</filename>, που όμως γινόταν όλο και
- πιο δύσχρηστος με κάθε νέα προσθήκη. Επιπρόσθετα, ο κόσμος ήθελε να
- φορτώνει τμήματα δυναμικά ενώ το σύστημα ήταν σε φάση εκτέλεσης, ή να
- εξαλείφει μέρη προγραμμάτων αφού είχε εκτελεστεί ο κώδικας αρχικοποίησης
- (init) ώστε να εξοικονομηθεί φυσική μνήμη και χώρος swap. Οι γλώσσες
- προγραμματισμού γινόντουσαν ακόμα πιο περίπλοκες και ο κόσμος ήθελε
- αυτόματη φόρτωση και εκτέλεση κώδικα πριν την κλήση της main. Έγιναν
- πρόχειρες διορθώσεις (hacks) στον τύπο <filename>a.out</filename> ώστε
- να συμβαδίζει με όλες αυτές τις αλλαγές, και πράγματι, για μια περίοδο
- έδειχνε να λειτουργεί. Με τον καιρό όμως, φάνηκε ότι ο τύπος
- <filename>a.out</filename> δεν θα μπορούσε να αντεπεξέλθει σε όλα αυτά
- τα προβλήματα, αφού θα έπρεπε να αναπτύσσεται συνεχώς και με περίπλοκο
- τρόπο. Αν και το <acronym>ELF</acronym> έλυνε πολλά από αυτά τα
- προβλήματα, η μετάβαση σε αυτό ενός συστήματος που βασικά λειτουργούσε,
- θα οδηγούσε σε οδυνηρές καταστάσεις. Έτσι ο τύπος
- <acronym>ELF</acronym> έπρεπε να περιμένει μέχρι τη στιγμή όπου η
- παραμονή στο <filename>a.out</filename> θα δημιουργούσε περισσότερα
- προβλήματα από ότι η μετάβαση στο <acronym>ELF</acronym>.</para>
-
- <para>Ωστόσο, όσο ο καιρός περνούσε, και τα εργαλεία μεταγλώττισης από
- τα οποία προέρχονται τα αντίστοιχα εργαλεία του &os; (ειδικότερα ο
- assembler και ο loader), αναπτύχθηκαν παράλληλα σε δύο δέντρα. Το
- δέντρο του &os; πρόσθεσε κοινές βιβλιοθήκες και διόρθωσε κάποια
- σφάλματα. Η ομάδα του GNU που είχε αρχικά γράψει αυτά τα
- προγράμματα, τα έγραψε ξανά και πρόσθεσε ευκολότερη υποστήριξη για
- κατασκευή cross compilers, την ενσωμάτωση διαφορετικών τύπων κατά
- βούληση, κλπ. Αν και πολλοί ζητούσαν να κατασκευαστούν cross compilers
- για &os;, ήταν άτυχοι, αφού ο παλιός πηγαίος κώδικας του &os; για τα
- <application>as</application> και <application>ld</application> τα
- έκανε ακατάλληλα. Η νέα αλυσίδα εργαλείων του GNU
- (<application>binutils</application>) υποστηρίζει cross compiling,
- <acronym>ELF</acronym>, κοινές βιβλιοθήκες, προεκτάσεις C++, κτλ.
- Επιπλέον, πολλοί τρίτοι κατασκευαστές προσφέρουν εκτελέσιμα ELF, και
- είναι πολύ καλό να μπορούν να εκτελεστούν στο &os;.</para>
-
- <para>Ο <acronym>ELF</acronym> είναι πιο εκφραστικός από τον
- <filename>a.out</filename> και περισσότερο επεκτάσιμος στο βασικό
- σύστημα. Τα εργαλεία <acronym>ELF</acronym> είναι ευκολότερα στην
- συντήρηση και προσφέρουν υποστήριξη για cross compilers,
- κάτι που είναι πολύ σημαντικό για μερικούς ανθρώπους. Μπορεί ο
- <acronym>ELF</acronym> να είναι λίγο πιο αργός από τον
- <filename>a.out</filename>, αλλά η διαφορά δεν είναι αισθητή. Υπάρχουν
- επίσης πολλές άλλες διαφορές μεταξύ τους, σε λεπτομέρειες όπως τον τρόπο
- που αντιστοιχίζουν σελίδες, που χειρίζονται τον κώδικα init, κλπ.
- Καμιά από αυτές δεν είναι πολύ σημαντική, αλλά ωστόσο δεν παύουν να
- είναι διαφορές. Με τον καιρό η υποστήριξη για το
- <filename>a.out</filename> θα απομακρυνθεί από τον πυρήνα GENERIC, και
- τελικά θα αφαιρεθεί εντελώς από τον πυρήνα όταν εκλείψει ολοκληρωτικά η
- ανάγκη εκτέλεσης παλαιών προγραμμάτων τύπου <filename>a.out</filename>.</para>
- </sect1>
-
- <sect1 xml:id="basics-more-information">
- <title>Για Περισσότερες Πληροφορίες</title>
-
- <sect2 xml:id="basics-man">
- <title>Σελίδες Βοηθείας</title>
- <indexterm><primary>σελίδες βοηθείας</primary></indexterm>
-
- <para>Η πιο κατανοητή τεκμηρίωση στο &os; προσφέρεται με τη μορφή των
- σελίδων βοηθείας (manual pages). Σχεδόν για κάθε πρόγραμμα του
- συστήματος δίνεται μια σύντομη αναφορά που εξηγεί τις βασικές
- λειτουργίες και διάφορα άλλα θέματα. Αυτές οι σελίδες προβάλλονται με
- την εντολή <command>man</command>. Η χρήση της εντολής
- <command>man</command> είναι απλή:</para>
-
- <screen>&prompt.user; <userinput>man command</userinput></screen>
-
- <para>όπου <literal>command</literal> είναι το όνομα της εντολής για την
- οποία επιθυμείτε να μάθετε περισσότερες πληροφορίες. Για παράδειγμα,
- για να μάθετε περισσότερα για την εντολή <command>ls</command>
- πληκτρολογήστε:</para>
-
- <screen>&prompt.user; <userinput>man ls</userinput></screen>
-
- <para>Το online manual χωρίζεται σε τέσσερις αριθμημένες
- ενότητες:</para>
-
- <orderedlist>
- <listitem>
- <para>Εντολές χρήστη.</para>
- </listitem>
-
- <listitem>
- <para>Κλήσεις συστήματος και αριθμοί σφαλμάτων.</para>
- </listitem>
-
- <listitem>
- <para>Συναρτήσεις των βιβλιοθηκών της C.</para>
- </listitem>
-
- <listitem>
- <para>Οδηγοί συσκευών.</para>
- </listitem>
-
- <listitem>
- <para>Τύποι αρχείων.</para>
- </listitem>
-
- <listitem>
- <para>Παιχνίδια και άλλες εφαρμογές διασκέδασης.</para>
- </listitem>
-
- <listitem>
- <para>Διάφορες πληροφορίες.</para>
- </listitem>
-
- <listitem>
- <para>Συντήρηση συστήματος και εντολές λειτουργίας.</para>
- </listitem>
-
- <listitem>
- <para>Ανάπτυξη πυρήνα.</para>
- </listitem>
- </orderedlist>
-
- <para>Σε μερικές περιπτώσεις, το ίδιο θέμα μπορεί να εμφανίζεται σε
- περισσότερες ενότητες των σελίδων βοηθείας. Για παράδειγμα, υπάρχει
- η εντολή χρήστη <command>chmod</command> και η κλήση συστήματος
- <function>chmod()</function>. Σε αυτή τη περίπτωση, μπορείτε να
- πείτε στην εντολή <command>man</command> ποια ακριβώς θέλετε
- επιλέγοντας την ενότητα:</para>
-
- <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
-
- <para>Με αυτόν τον τρόπο θα εμφανιστεί η σελίδα βοηθείας για την
- εντολή χρήστη <command>chmod</command>. Οι αναφορές σε μια ειδική
- ενότητα των σελίδων βοηθείας τοποθετούνται παραδοσιακά μέσα σε
- παρένθεση στην τυπωμένη τεκμηρίωση, επομένως το &man.chmod.1;
- αναφέρεται στην εντολή χρήστη <command>chmod</command> και το
- &man.chmod.2; αναφέρεται στην κλήση συστήματος.</para>
-
- <para>Αυτό είναι χρήσιμο όταν γνωρίζουμε το όνομα της εντολής και απλά
- επιθυμούμε να μάθουμε πως να την χρησιμοποιήσουμε, αλλά τι γίνεται
- αν δεν γνωρίζουμε το όνομα της; Μπορείτε να χρησιμοποιήσετε το
- <command>man</command> για να αναζητήσετε λέξεις κλειδιά από τις
- περιγραφές των εντολών χρησιμοποιώντας την επιλογή
- <option>-k</option>:</para>
-
- <screen>&prompt.user; <userinput>man -k mail</userinput></screen>
-
- <para>Με την εντολή αυτή θα εμφανιστεί μία λίστα από εντολές που
- περιέχουν την λέξη κλειδί <quote>mail</quote> στην περιγραφή τους.
- Αυτό είναι αντίστοιχο με το να χρησιμοποιήσετε την εντολή
- <command>apropos</command>.</para>
-
- <para>Επομένως, βλέπετε όλες αυτές τις γουστόζικες εντολές στον
- <filename>/usr/bin</filename> αλλά δεν έχετε την παραμικρή ιδέα του
- τι πραγματικά κάνουν; Απλά πληκτρολογήστε:</para>
-
- <screen>&prompt.user; <userinput>cd /usr/bin</userinput>
-&prompt.user; <userinput>man -f *</userinput></screen>
-
- <para>ή</para>
-
- <screen>&prompt.user; <userinput>cd /usr/bin</userinput>
-&prompt.user; <userinput>whatis *</userinput></screen>
-
- <para>το οποίο κάνει ακριβώς το ίδιο πράγμα.</para>
- </sect2>
-
- <sect2 xml:id="basics-info">
- <title>GNU Info Files</title>
- <indexterm><primary>Free Software Foundation</primary></indexterm>
-
- <para>Το &os; περιλαμβάνει πολλές εφαρμογές και βοηθητικά προγράμματα
- που έχουν δημιουργηθεί από την Free Software Foundation (FSF). Πέρα
- από τις σελίδες βοηθείας, τα προγράμματα αυτά παρέχονται με
- τεκμηρίωση μορφής hypertext σε αρχεία που ονομάζονται
- <literal>info</literal> και τα οποία μπορείτε να προβάλλετε με την
- εντολή <command>info</command> ή, αν έχετε εγκαταστήσει το
- <application>emacs</application>, μέσω της κατάστασης λειτουργίας
- info mode του <application>emacs</application>.</para>
-
- <para>Για να χρησιμοποιήσετε την εντολή &man.info.1;, απλά
- πληκτρολογήστε:</para>
-
- <screen>&prompt.user; <userinput>info</userinput></screen>
-
- <para>Για μια σύντομη εισαγωγή, πληκτρολογήστε <literal>h</literal>.
- Για μια γρήγορη αναφορά εντολής, πληκτρολογήστε
- <literal>?</literal>.</para>
- </sect2>
- </sect1>
-</chapter>
diff --git a/el_GR.ISO8859-7/books/handbook/basics/example-dir1.dot b/el_GR.ISO8859-7/books/handbook/basics/example-dir1.dot
deleted file mode 100644
index 2d2babfec3..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/example-dir1.dot
+++ /dev/null
@@ -1,12 +0,0 @@
-// $FreeBSD$
-//
-// The FreeBSD Greek Documentation Project
-//
-// %SOURCE% en_US.ISO8859-1/books/handbook/basics/example-dir1.dot
-// %SRCID% 1.1
-
-digraph directory {
- root [label="Root\n/"];
- root -> "A1/";
- root -> "A2/";
-}
diff --git a/el_GR.ISO8859-7/books/handbook/basics/example-dir2.dot b/el_GR.ISO8859-7/books/handbook/basics/example-dir2.dot
deleted file mode 100644
index d3326ee012..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/example-dir2.dot
+++ /dev/null
@@ -1,13 +0,0 @@
-// $FreeBSD$
-//
-// The FreeBSD Greek Documentation Project
-//
-// %SOURCE% en_US.ISO8859-1/books/handbook/basics/example-dir2.dot
-// %SRCID% 1.1
-
-digraph directory {
- root [label="Root\n/"];
- root -> "A1/" -> "B1/";
- "A1/" -> "B2/";
- root -> "A2/";
-}
diff --git a/el_GR.ISO8859-7/books/handbook/basics/example-dir3.dot b/el_GR.ISO8859-7/books/handbook/basics/example-dir3.dot
deleted file mode 100644
index 3e583dbefd..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/example-dir3.dot
+++ /dev/null
@@ -1,14 +0,0 @@
-// $FreeBSD$
-//
-// The FreeBSD Greek Documentation Project
-//
-// %SOURCE% en_US.ISO8859-1/books/handbook/basics/example-dir3.dot
-// %SRCID% 1.1
-
-
-digraph directory {
- root [label="Root\n/"];
- root -> "A1/";
- root -> "A2/" -> "B1/";
- "A2/" -> "B2/";
-}
diff --git a/el_GR.ISO8859-7/books/handbook/basics/example-dir4.dot b/el_GR.ISO8859-7/books/handbook/basics/example-dir4.dot
deleted file mode 100644
index ed9e13cf6d..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/example-dir4.dot
+++ /dev/null
@@ -1,15 +0,0 @@
-// $FreeBSD$
-//
-// The FreeBSD Greek Documentation Project
-//
-// %SOURCE% en_US.ISO8859-1/books/handbook/basics/example-dir4.dot
-// %SRCID% 1.1
-
-
-digraph directory {
- root [label="Root\n/"];
- root -> "A1/";
- root -> "A2/" -> "B1/" -> "C1/";
- "B1/" -> "C2/";
- "A2/" -> "B2/";
-}
diff --git a/el_GR.ISO8859-7/books/handbook/basics/example-dir5.dot b/el_GR.ISO8859-7/books/handbook/basics/example-dir5.dot
deleted file mode 100644
index ecb09b22eb..0000000000
--- a/el_GR.ISO8859-7/books/handbook/basics/example-dir5.dot
+++ /dev/null
@@ -1,14 +0,0 @@
-// $FreeBSD$
-//
-// The FreeBSD Greek Documentation Project
-//
-// %SOURCE% en_US.ISO8859-1/books/handbook/basics/example-dir5.dot
-// %SRCID% 1.1
-
-digraph directory {
- root [label="Root\n/"];
- root -> "A1/" -> "C1/";
- "A1/" -> "C2/";
- root -> "A2/" -> "B1/";
- "A2/" -> "B2/";
-}
diff --git a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.xml b/el_GR.ISO8859-7/books/handbook/bibliography/chapter.xml
deleted file mode 100644
index fc517ee554..0000000000
--- a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.xml
+++ /dev/null
@@ -1,541 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Βιβλιογραφία
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/bibliography/chapter.xml
- %SRCID% 39056
-
--->
-<appendix xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="bibliography">
- <title>Βιβλιογραφία</title>
-
- <para>Αν και τα manual pages παρέχουν μία επίσημη αναφορά για τα διάφορα
- τμήματα του λειτουργικού συστήματος &os;, δεν εξηγούν πως όλα αυτά
- ενώνονται μεταξύ τους ώστε το λειτουργικό σύστημα να λειτουργεί ομαλά.
- Για αυτές τις πληροφορίες, θα πρέπει να συμβουλευτείτε ένα
- καλό βιβλίο διαχείρισης συστημάτων &unix; και ένα καλό εγχειρίδιο
- χρήστη.</para>
-
- <sect1 xml:id="bibliography-freebsd">
- <title>Βιβλία &amp; Περιοδικά σχετικά με το FreeBSD</title>
-
- <para><emphasis>Διεθνή βιβλία &amp;
- περιοδικά:</emphasis></para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm">Using FreeBSD</link> (σε Παραδοσιακά Κινέζικα).</para>
- </listitem>
-
- <listitem>
-
- <para>FreeBSD Unleashed (Μετάφραση σε Απλοποιημένα Κινέζικα),
- εκδόθηκε από την
- <link xlink:href="http://www.hzbook.com/">China Machine
- Press</link>. ISBN 7-111-10201-0.
- </para>
- </listitem>
-
- <listitem>
- <para>FreeBSD From Scratch Second Edition (σε Απλοποιημένα Κινέζικα),
- εκδόθηκε από την China Machine Press. ISBN 7-111-10286-X.
- </para>
- </listitem>
-
- <listitem>
- <para>FreeBSD Handbook Second Edition (Μετάφραση σε Απλοποιημένα
- Κινέζικα), εκδόθηκε από την
- <link xlink:href="http://www.ptpress.com.cn/">Posts &amp; Telecom
- Press</link>. ISBN 7-115-10541-3.
- </para>
- </listitem>
-
- <listitem>
- <para>FreeBSD &amp; Windows (σε Απλοποιημένα Κινέζικα),
- εκδόθηκε από την
- <link xlink:href="http://www.tdpress.com/">China Railway Publishing
- House</link>. ISBN 7-113-03845-X</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD Internet Services HOWTO (σε Απλοποιημένα Κινέζικα),
- εκδόθηκε από την China Railway Publishing House.
- ISBN 7-113-03423-3</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD (στα Γιαπωνέζικα), εκδόθηκε από την CUTT. ISBN 4-906391-22-2
- C3055 P2400E.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.shoeisha.com/book/Detail.asp?bid=650">Complete Introduction to FreeBSD</link>
- (στα Γιαπωνέζικα), εκδόθηκε από την <link xlink:href="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</link>.
- ISBN 4-88135-473-6 P3600E.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Personal UNIX Starter Kit FreeBSD</link>
- (στα Γιαπωνέζικα), εκδόθηκε από την <link xlink:href="http://www.ascii.co.jp/">ASCII</link>.
- ISBN 4-7561-1733-3 P3000E.</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD Handbook (Γιαπωνέζικη μετάφραση), εκδόθηκε από την
- <link xlink:href="http://www.ascii.co.jp/">ASCII</link>.
- ISBN 4-7561-1580-2 P3800E.</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD mit Methode (στα Γερμανικά), εκδόθηκε από την <link xlink:href="http://www.cul.de">Computer und Literatur Verlag</link>/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.mitp.de/vmi/mitp/detail/pWert/1343/">
- FreeBSD de Luxe</link> (στα Γερμανικά), εκδόθηκε από την
- <link xlink:href="http://www.mitp.de">Verlag Modere Industrie</link>,
- 2003. ISBN 3-8266-1343-0.
- </para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.pc.mycom.co.jp/FreeBSD/install-manual.html">FreeBSD Install and Utilization Manual</link>
- (στα Γιαπωνέζικα), εκδόθηκε από την <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications
- Inc.</link>.</para>
- </listitem>
-
- <listitem>
- <para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
- <emphasis><link xlink:href="http://maxwell.itb.ac.id/">Building Internet Server with
- FreeBSD</link></emphasis> (στην Ινδονησιακή γλώσσα), εκδόθηκε
- από την <link xlink:href="http://www.elexmedia.co.id/">Elex Media
- Komputindo</link>.</para>
- </listitem>
-
- <listitem>
- <para>Absolute BSD: The Ultimate Guide to FreeBSD (Μετάφραση σε
- Παραδοσιακά Κινέζικα), εκδόθηκε από την <link xlink:href="http://www.grandtech.com.tw/">GrandTech Press</link>, 2003.
- ISBN 986-7944-92-5.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.twbsd.org/cht/book/">The FreeBSD 6.0 Book</link>
- (σε Παραδοσιακά Κινέζικα), εκδόθηκε από την Drmaster, 2006.
- ISBN 9-575-27878-X.</para>
- </listitem>
-
- </itemizedlist>
-
- <para><emphasis>Βιβλία &amp; περιοδικά στην Αγγλική γλώσσα:</emphasis></para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://www.absoluteFreeBSD.com/">Absolute
- FreeBSD, 2nd Edition: The Complete Guide to FreeBSD</link>,
- εκδόθηκε από την <link xlink:href="http://www.nostarch.com/">No Starch Press</link>, 2007.
- ISBN: 978-1-59327-151-0</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.freebsdmall.com/cgi-bin/fm/bsdcomp">
- The Complete FreeBSD</link>, εκδόθηκε από την
- <link xlink:href="http://www.oreilly.com/">O'Reilly</link>, 2003.
- ISBN: 0596005164</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.freebsd-corp-net-guide.com/">The
- FreeBSD Corporate Networker's Guide</link>, εκδόθηκε από την
- <link xlink:href="http://www.awl.com/aw/">Addison-Wesley</link>, 2000.
- ISBN: 0201704811</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://andrsn.stanford.edu/FreeBSD/introbook/">
- FreeBSD: An Open-Source Operating System for Your Personal
- Computer</link>, εκδόθηκε από την The Bit Tree Press, 2001.
- ISBN: 0971204500</para>
- </listitem>
-
- <listitem>
- <para>Teach Yourself FreeBSD in 24 Hours, εκδόθηκε από την
- <link xlink:href="http://www.samspublishing.com/">Sams</link>, 2002.
- ISBN: 0672324245</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD 6 Unleashed, εκδόθηκε από την
- <link xlink:href="http://www.samspublishing.com/">Sams</link>, 2006.
- ISBN: 0672328755</para>
- </listitem>
-
- <listitem>
- <para>FreeBSD: The Complete Reference, εκδόθηκε από την
- <link xlink:href="http://books.mcgraw-hill.com">McGrawHill</link>, 2003.
- ISBN: 0072224096 </para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.bsdmag.org">BSD Magazine</link>,
- εκδίδεται από την Software Press Sp. z o.o. SK.
- ISSN 1898-9144</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="bibliography-userguides">
- <title>Οδηγοί χρήστη</title>
-
- <itemizedlist>
- <listitem>
- <para>Το Ohio State University έγραψε τα <link xlink:href="http://www.cs.duke.edu/csl/docs/unix_course/">Εισαγωγικά
- μαθήματα UNIX</link> που διατίθενται σε HTML και
- PostScript.</para>
-
- <para>Μια Ιταλική <link xlink:href="&url.doc.base;/it_IT.ISO8859-15/books/unix-introduction/index.html">μετάφραση</link>
- αυτού του κειμένου διατίθεται ως μέρος του FreeBSD Italian
- Documentation Project.</para>
- </listitem>
-
- <listitem>
- <para><link xlink:href="http://www.jp.FreeBSD.org/">Jpman Project, Japan
- FreeBSD Users Group</link>. <link xlink:href="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's
- Reference Manual</link> (Japanese translation). <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications
- Inc.</link>, 1998. ISBN4-8399-0088-4 P3800E.</para>
- </listitem>
-
- <listitem>
- <para>Το <link xlink:href="http://www.ed.ac.uk/">Edinburgh
- University</link> έγραψε ένα <link xlink:href="http://unixhelp.ed.ac.uk/">Online οδηγό</link> για
- νέους στο περιβάλλον του UNIX.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="bibliography-adminguides">
- <title>Οδηγοί διαχειριστή</title>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="http://www.jp.FreeBSD.org/">Jpman Project, Japan
- FreeBSD Users Group</link>. <link xlink:href="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System
- Administrator's Manual</link> (Γιαπωνέζικη μετάφραση). <link xlink:href="http://www.pc.mycom.co.jp/">Mainichi Communications
- Inc.</link>, 1998. ISBN4-8399-0109-0 P3300E.</para>
- </listitem>
-
- <listitem>
- <para>Dreyfus, Emmanuel. <link xlink:href="http://www.eyrolles.com/Informatique/Livre/9782212114638/">Cahiers
- de l'Admin: BSD</link> 2nd Ed. (στα Γαλλικά), Eyrolles, 2004.
- ISBN 2-212-11463-X</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="bibliography-programmers">
- <title>Οδηγοί προγραμματιστών</title>
-
- <itemizedlist>
- <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. <link xlink:href="http://www.spinellis.gr/codereading/"><emphasis>Code
- Reading: The Open Source Perspective</emphasis></link>.
- Addison-Wesley, 2003. ISBN 0-201-79940-5</para>
- </listitem>
-
- <listitem>
- <para>Spinellis, Diomidis. <link xlink:href="http://www.spinellis.gr/codequality/"><emphasis>Code
- Quality: The Open Source Perspective</emphasis></link>.
- 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>
- </itemizedlist>
- </sect1>
-
- <sect1 xml: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 από αυτό το βιβλίο διατίθεται <link xlink:href="&url.books.design-44bsd;/book.html">online</link> ως μέρος του
- FreeBSD Documentation Project.)</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 xml: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. <emphasis>PGP Pretty Good
- Privacy</emphasis> O'Reilly &amp; Associates, Inc., 1995. ISBN
- 1-56592-098-8</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml: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 και πρότυπα στο <link xlink:href="http://developer.intel.com/">developer web site</link>,
- συνήθως ως αρχεία 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 xml: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. Γνωστό και ως το <link xlink:href="http://www.catb.org/~esr/jargon/html/index.html">Jargon
- File</link></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. Εκτός κυκλοφορίας, αλλά διατίθεται
- <link xlink:href="http://www.simson.net/ref/ugh.pdf">online</link>.</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>.
- <uri xlink:href="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree">http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree</uri>
- η το <link xlink:href="file://localhost/usr/share/misc/bsd-family-tree"><filename>/usr/share/misc/bsd-family-tree</filename></link>
- σε ένα FreeBSD μηχάνημα.</para>
- </listitem>
-
- <listitem>
- <para><emphasis>Networked Computer Science Technical Reports
- Library</emphasis>. <uri xlink:href="http://www.ncstrl.org/">http://www.ncstrl.org/</uri></para>
- </listitem>
-
- <listitem>
- <para><emphasis>Παλαιές BSD εκδόσεις από το Computer Systems Research
- group (CSRG)</emphasis>.
- <uri xlink:href="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</uri>:
- Το 4CD set έχει όλες τις BSD εκδόσεις από την 1BSD μέχρι την
- 4.4BSD και την 4.4BSD-Lite2 (αλλά όχι την 2.11BSD, δυστυχώς).
- Το τελευταίο δισκάκι περιέχει επίσης τον τελικό πηγαίο κώδικα συν
- τα αρχεία SCCS.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml: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>
diff --git a/el_GR.ISO8859-7/books/handbook/book.xml b/el_GR.ISO8859-7/books/handbook/book.xml
deleted file mode 100644
index 7830c51d3d..0000000000
--- a/el_GR.ISO8859-7/books/handbook/book.xml
+++ /dev/null
@@ -1,328 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
-<!ENTITY % chapters SYSTEM "chapters.ent">
-%chapters;
-<!ENTITY % txtfiles SYSTEM "txtfiles.ent">
-%txtfiles;
-]>
-
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Οργάνωση Κεφαλαίων
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/book.xml
- %SRCID% 43566
-
--->
-
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="el">
- <info><title>Εγχειρίδιο του FreeBSD</title>
-
- <author><orgname>Ομάδα Τεκμηρίωσης του FreeBSD</orgname></author>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <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>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <year>2011</year>
- <year>2012</year>
- <year>2013</year>
- <year>2014</year>
- <holder>Ομάδα Τεκμηρίωσης του FreeBSD</holder>
- </copyright>
-
- &legalnotice;
-
- <legalnotice xml: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.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.microsoft;
- &tm-attrib.opengroup;
- &tm-attrib.oracle;
- &tm-attrib.realnetworks;
- &tm-attrib.redhat;
- &tm-attrib.sun;
- &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;. Η τελευταία έκδοση αυτού του κειμένου είναι πάντα
- διαθέσιμη από την
- <link xlink:href="http://www.FreeBSD.org/">ιστοσελίδα του &os;</link>
- (παλιότερες εκδόσεις μπορείτε να βρείτε στη διεύθυνση
- <uri xlink:href="http://docs.FreeBSD.org/doc/">http://docs.FreeBSD.org/doc/</uri>). Μπορείτε
- επίσης να μεταφορτώσετε στον υπολογιστή σας το ίδιο βιβλίο σε
- άλλες μορφές αρχείου και με διάφορες μορφές συμπίεσης από
- τον <link
- xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">εξυπηρετητή
- FTP του &os;</link> ή ένα από τα
- πολλά <link linkend="mirrors-ftp">mirror sites</link>. Αν
- προτιμάτε ένα τυπωμένο αντίτυπο, μπορείτε να αγοράσετε ένα
- αντίγραφο του Εγχειριδίου, από το
- <link xlink:href="http://www.freebsdmall.com/">FreeBSD Mall</link>.
- Μπορείτε επίσης
- να <link xlink:href="&url.base;/search/index.html">ψάξετε σε όλο το
- βιβλίο</link>.</para>
- </abstract>
- </info>
-
- &chap.preface;
-
- <part xml: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.bsdinstall;
- &chap.install;
- &chap.basics;
- &chap.ports;
- &chap.x11;
- </part>
-
- <part xml: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.multimedia;
- &chap.kernelconfig;
- &chap.printing;
- &chap.linuxemu;
- </part>
-
- <part xml:id="system-administration">
- <title>Διαχείριση Συστήματος</title>
-
- <partintro>
- <para>Τα κεφάλαια του &os; Handbook που ακολουθούν αναφέρονται σε θέματα
- που έχουν σχέση με τη <emphasis>διαχείριση</emphasis> του συστήματος.
- Κάθε κεφάλαιο ξεκινά περιγράφοντας τι θα μάθετε διαβάζοντας
- το συγκεκριμένο κεφάλαιο, καθώς και τι προαπαιτούμενα έχει το κεφάλαιο
- αυτό: τι πρέπει να έχετε ήδη διαβάσει και κατανοήσει πριν ασχοληθείτε
- με αυτό το κεφάλαιο.</para>
-
- <para>Αυτά τα κεφάλαια έχουν σχεδιαστεί περισσότερο ως οδηγός αναφοράς
- παρά ως εισαγωγικό κείμενο. Γι αυτό είναι πιο χρήσιμα ως οδηγοί στους
- οποίους μπορείτε να ανατρέξετε όταν χρειάζεστε κάποια πληροφορία για
- το &os;. Δε χρειάζεται να τα διαβάσετε με κάποια συγκεκριμένη σειρά,
- ούτε χρειάζεται να τα έχετε διαβάσει όλα πριν αρχίσετε να ασχολείστε
- με το &os;.</para>
- </partintro>
-
- &chap.config;
- &chap.boot;
- <!-- Note: users chapter will stay in the Greek build until merged
- basics -->
- &chap.users;
- &chap.security;
- &chap.jails;
- &chap.mac;
- &chap.audit;
- &chap.disks;
- &chap.geom;
- &chap.filesystems;
- &chap.virtualization;
- &chap.l10n;
- &chap.cutting-edge;
- &chap.dtrace;
- </part>
-
- <part xml: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.ppp-and-slip;
- &chap.mail;
- &chap.network-servers;
- &chap.firewalls;
- &chap.advanced-networking;
- </part>
-
- <part xml:id="appendices">
- <title>Παραρτήματα</title>
-
- &chap.mirrors;
- &chap.bibliography;
- &chap.eresources;
- &chap.pgpkeys;
- </part>
-
- &chap.freebsd-glossary;
- &chap.index;
- &chap.colophon;
-</book>
diff --git a/el_GR.ISO8859-7/books/handbook/boot/chapter.xml b/el_GR.ISO8859-7/books/handbook/boot/chapter.xml
deleted file mode 100644
index 9195019038..0000000000
--- a/el_GR.ISO8859-7/books/handbook/boot/chapter.xml
+++ /dev/null
@@ -1,1066 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Η Διαδικασία Εκκίνησης του FreeBSD
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/boot/chapter.xml
- %SRCID% 38826
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot">
- <title>Η Διαδικασία Εκκίνησης του &os;</title>
-
- <sect1 xml: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>. Η διαδικασία
- εκκίνησης του &os; μπορεί να προσαρμοστεί πολύ εύκολα στις απαιτήσεις
- σας, επιτρέποντας σάς να επιλέξετε είτε διαφορετικά λειτουργικά
- συστήματα που είναι εγκατεστημένα στον ίδιο υπολογιστή, ή ακόμα και
- διαφορετικές εκδόσεις του ίδιου λειτουργικού συστήματός ή του
- εγκατεστημένου πυρήνα.</para>
-
- <para>Το κεφάλαιο αυτό περιγράφει λεπτομερώς τις επιλογές ρυθμίσεων που
- μπορείτε να κάνετε και πως να φέρετε στα μέτρα σας τη διαδικασία
- εκκίνησης του &os;. Η διαδικασία εκκίνησης περιλαμβάνει οτιδήποτε
- συμβαίνει από την εκκίνηση του πυρήνα του &os;, την ανίχνευση των
- συσκευών, μέχρι και την εκκίνηση της &man.init.8;. Η εκκίνηση της
- &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 xml:id="boot-introduction">
- <title>Το Πρόβλημα της Εκκίνησης</title>
-
- <para>Η ενεργοποίηση ενός υπολογιστή και η εκκίνηση του λειτουργικού
- συστήματος, μας φέρνει αντιμέτωπους με ένα ενδιαφέρον δίλημμα.
- Εξ' ορισμού, ο υπολογιστής δεν ξέρει να κάνει τίποτα μέχρι την εκκίνηση
- του λειτουργικού συστήματος. Αυτό περιλαμβάνει και την εκτέλεση
- προγραμμάτων από το δίσκο. Έτσι, αν ο υπολογιστής δεν μπορεί να
- εκτελέσει προγράμματα από το δίσκο χωρίς το λειτουργικό σύστημα, αλλά
- και τα προγράμματα του λειτουργικού συστήματος είναι επίσης στο δίσκο,
- πως είναι δυνατή η εκκίνηση του λειτουργικού;</para>
-
- <para>Το πρόβλημα μοιάζει με αυτό στο βιβλίο <citetitle>Οι Περιπέτειες
- του Βαρώνου Μινχάουζεν</citetitle>. Ένας χαρακτήρας έχει πέσει σε ένα
- πηγάδι, και βγαίνει πιάνοντας και τραβώντας τα κορδόνια του
- (bootstraps). Στις πρώτες μέρες των υπολογιστών, χρησιμοποιούνταν ο
- όρος <firstterm>bootstrap</firstterm> για το μηχανισμό φόρτωσης του
- λειτουργικού συστήματος, το οποίο συντομεύτηκε σε
- <quote>booting</quote>.</para>
-
- <indexterm><primary>BIOS</primary></indexterm>
-
- <indexterm><primary>Basic Input/Output System</primary><see>BIOS</see></indexterm>
-
- <para>Στην αρχιτεκτονική x86, το Βασικό Σύστημα Εισόδου Εξόδου (BIOS)
- είναι υπεύθυνο για τη φόρτωση του λειτουργικού συστήματος. Για να το
- επιτύχει αυτό, το BIOS ανιχνεύει το σκληρό δίσκο για την Κεντρική
- Εγγραφή Εκκίνησης (Master Boot Record, MBR), η οποία πρέπει να βρίσκεται
- σε συγκεκριμένο σημείο στο δίσκο. Το BIOS γνωρίζει αρκετά για να
- φορτώσει και να εκτελέσει το MBR, και υποθέτει ότι το MBR μπορεί κατόπιν
- να εκτελέσει την υπόλοιπη διαδικασία φόρτωσης του λειτουργικού
- συστήματος, ενδεχομένως και με τη βοήθεια του BIOS.</para>
-
- <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
-
- <indexterm><primary>Boot Manager</primary></indexterm>
-
- <indexterm><primary>Boot Loader</primary></indexterm>
-
- <para>Ο κώδικας μέσα στο MBR συνήθως αναφέρεται ως
- <emphasis>διαχειριστής εκκίνησης (boot manager)</emphasis>, ειδικά όταν
- αλληλεπιδρά με το χρήστη. Στην περίπτωση αυτή, ο διαχειριστής εκκίνησης
- έχει συνήθως περισσότερο κώδικα στην πρώτη <emphasis> τροχιά (track)
- </emphasis> του δίσκου ή μέσα σε κάποιο σύστημα αρχείων του
- λειτουργικού. (Μερικές φορές ο διαχειριστής εκκίνησης αποκαλείται και
- <emphasis>φορτωτής εκκίνησης (boot loader)</emphasis>, αλλά στο &os; ο
- όρος αυτός χρησιμοποιείται σε μεταγενέστερο στάδιο της εκκίνησης.)
- Στους δημοφιλείς διαχειριστές εκκίνησης περιλαμβάνονται
- το <application>boot0</application> (γνωστό και ως <application>Boot
- Easy</application>, ο στάνταρ διαχειριστής εκκίνησης του &os;), το
- <application>Grub</application>, το <application>GAG</application>, και
- το <application>LILO</application>.
- (Μόνο το <application>boot0</application> χωράει μέσα στο MBR.)</para>
-
- <para>Αν έχετε εγκατεστημένο ένα μόνο λειτουργικό σύστημα στους δίσκους
- σας, το τυποποιημένο MBR για PC είναι επαρκές. Αυτό το MBR ψάχνει για
- το πρώτο εκκινήσιμο (ή ενεργό) διαμέρισμα (slice) στο δίσκο, και εκτελεί
- τον κώδικα που υπάρχει σε αυτό για να φορτώσει το υπόλοιπο του
- λειτουργικού συστήματος. Ένα MBR αυτού του τύπου, είναι αυτό που
- εγκαθίσταται από προεπιλογή με την &man.fdisk.8;. Βασίζεται στο
- <filename>/boot/mbr</filename>.</para>
-
- <para>Αν έχετε εγκαταστήσει πολλαπλά λειτουργικά συστήματα στους δίσκους
- σας, μπορείτε να εγκαταστήσετε διαφορετικό διαχειριστή εκκίνησης,
- κάποιον που να μπορεί να δείξει μια λίστα των διαφορετικών συστημάτων
- και να σας επιτρέψει να διαλέξετε ποιο να ξεκινήσει. Στο επόμενο τμήμα
- θα συζητήσουμε για δύο από αυτούς τους διαχειριστές εκκίνησης.</para>
-
- <para>Το υπόλοιπο του συστήματος εκκίνησης του &os; είναι χωρισμένο σε
- τρία στάδια. Το πρώτο στάδιο εκτελείται από το MBR, το οποίο γνωρίζει
- απλώς ότι απαιτείται για να φέρει τον υπολογιστή σε μια συγκεκριμένη
- κατάσταση και να εκτελέσει το δεύτερο στάδιο. Το δεύτερο στάδιο μπορεί
- να κάνει λίγα περισσότερα πράγματα πριν την εκτέλεση του τρίτου σταδίου.
- Το τρίτο στάδιο ολοκληρώνει τη διαδικασία φόρτωσης του λειτουργικού
- συστήματος. Η εργασία γίνεται σε τρία στάδια, γιατί το πρότυπο του PC
- επιβάλλει περιορισμούς στο μέγεθος των προγραμμάτων που μπορούν να
- εκτελεστούν στα στάδια ένα και δύο. Η συνένωση αυτή των εργασιών
- επιτρέπει στο &os; να παρέχει ένα πιο ευέλικτο σύστημα φόρτωσης.</para>
-
- <indexterm><primary>kernel</primary></indexterm>
- <indexterm><primary><command>init</command></primary></indexterm>
-
- <para>Έπειτα ξεκινάει ο πυρήνας και αρχίζει την ανίχνευση και αρχικοποίηση
- των συσκευών ώστε να μπορούν να χρησιμοποιηθούν. Μέτα την ολοκλήρωση
- της διαδικασίας εκκίνησης του πυρήνα, ο έλεγχος περνάει στη διαδικασία
- χρήστη &man.init.8;, η οποία και επιβεβαιώνει ότι οι δίσκοι είναι σε
- λειτουργική (χωρίς λάθη) κατάσταση. Η &man.init.8; ξεκινάει έπειτα
- την ρύθμιση πόρων (επίπεδο χρήστη), με την οποία προσαρτώνται τα
- συστήματα αρχείων, ρυθμίζονται οι κάρτες δικτύου για επικοινωνία με το
- δίκτυο, και γενικά εκκινούν όλες οι διαδικασίες που εκτελούνται τυπικά
- κατά την εκκίνηση ενός &os; συστήματος.</para>
- </sect1>
-
- <sect1 xml:id="boot-blocks">
- <title>Ο Διαχειριστής Εκκίνησης και τα Στάδια Εκκίνησης</title>
-
- <indexterm><primary>Boot Manager</primary></indexterm>
-
- <sect2 xml:id="boot-boot0">
- <title>Ο Διαχειριστής Εκκίνησης (boot manager)</title>
- <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
-
- <para>Ο κώδικας στο MBR ή διαχειριστής εκκίνησης αναφέρεται μερικές
- φορές και ως <emphasis>στάδιο μηδέν (stage zero)</emphasis> της
- διαδικασίας εκκίνησης. Το τμήμα αυτό περιγράφει δύο από τους
- διαχειριστές εκκίνησης που αναφέραμε προηγουμένως: Το
- <application>boot0</application> και το
- <application>LILO</application>.</para>
-
- <formalpara><title>Ο Διαχειριστής Εκκίνησης
- <application>boot0</application>:</title>
- <para>Το MBR που εγκαθίσταται από το πρόγραμμα εγκατάστασης του &os;
- ή το &man.boot0cfg.8;, βασίζεται από προεπιλογή στο
- <filename>/boot/boot0</filename>.
- (Το πρόγραμμα <application>boot0</application> είναι πολύ απλό,
- καθώς ο κώδικας στο <abbrev>MBR</abbrev> μπορεί να έχει μέγεθος ως
- 446 bytes, εξαιτίας του πίνακα κατατμήσεων (slice table) και
- του αναγνωριστικού <literal>0x55AA</literal> που βρίσκεται στο τέλος
- του MBR.) Αν έχετε εγκαταστήσει το <application>boot0</application>
- και πολλαπλά λειτουργικά συστήματα στους σκληρούς δίσκους σας, θα
- δείτε κατά την εκκίνηση, μια οθόνη παρόμοια με την
- παρακάτω:</para></formalpara>
-
- <example xml: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>Άλλα λειτουργικά συστήματα, και ειδικότερα τα &windows;, είναι
- γνωστό ότι γράφουν το δικό τους MBR πάνω σε κάποιο ήδη υπάρχον. Αν
- σας συμβεί αυτό, ή αν θέλετε να αντικαταστήσετε το υπάρχον MBR σας
- με αυτό του &os;, χρησιμοποιήστε την ακόλουθη εντολή:</para>
-
- <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 device</userinput></screen>
-
- <para>όπου <replaceable>device</replaceable> είναι η συσκευή από την
- οποία γίνεται εκκίνηση, όπως π.χ. το <filename>ad0</filename> για
- τον πρώτο δίσκο IDE, το <filename>ad2</filename> για τον πρώτο
- IDE δίσκο στο δευτερεύοντα ελεγκτή, το <filename>da0</filename>
- για τον πρώτο SCSI δίσκο κ.ο.κ. Αν πάλι θέλετε προσαρμοσμένη ρύθμιση
- του MBR, χρησιμοποιήστε το &man.boot0cfg.8;.</para>
-
- <formalpara><title>Ο Διαχειριστής Εκκίνησης LILO</title>
-
- <para>Για να εγκαταστήσετε αυτό το διαχειριστή εκκίνησης ώστε να
- μπορεί να εκκινεί το &os;, εγκαταστήστε πρώτα το Linux και προσθέστε
- την ακόλουθη καταχώρηση στο υπάρχον αρχείο ρυθμίσεων
- <filename>/etc/lilo.conf</filename>:</para></formalpara>
-
- <programlisting>other=/dev/hdXY
-table=/dev/hdX
-loader=/boot/chain.b
-label=FreeBSD</programlisting>
-
- <para>Στο παραπάνω, καθορίστε το πρωτεύον διαμέρισμα και το δίσκο του
- &os; αντικαθιστώντας το <replaceable>X</replaceable> με το γράμμα
- δίσκου και το <replaceable>Y</replaceable> με τον αριθμό του
- πρωτεύοντος διαμερίσματος, χρησιμοποιώντας όμως την ονοματολογία του
- Linux. Αν χρησιμοποιείτε οδηγό <acronym>SCSI</acronym> θα χρειαστεί
- να αλλάξετε το <replaceable>/dev/hd</replaceable> σε κάτι αντίστοιχο
- με <replaceable>/dev/sd</replaceable>. Η γραμμή
- <option>loader=/boot/chain.b</option> μπορεί να παραλειφθεί αν έχετε
- και τα δύο λειτουργικά συστήματα στον ίδιο δίσκο. Εκτελέστε τώρα την
- εντολή <command>/sbin/lilo&nbsp;-v</command> για να καταχωρήσετε τις
- νέες αλλαγές σας στο σύστημα. Μπορείτε να τις επιβεβαιώσετε
- ελέγχοντας τα μηνύματα που θα εμφανιστούν στην οθόνη σας.</para>
- </sect2>
-
- <sect2 xml:id="boot-boot1">
- <title>Το Στάδιο Ένα, <filename>/boot/boot1</filename>, και το Στάδιο
- Δύο, <filename>/boot/boot2</filename></title>
-
- <para>Ουσιαστικά, το πρώτο και δεύτερο στάδιο είναι τμήματα του ίδιου
- προγράμματος, στην ίδια περιοχή του δίσκου. Λόγω περιορισμών χώρου
- έχουν χωριστεί σε δύο, αλλά εγκαθίστανται πάντα μαζί.
- Αντιγράφονται από το συνδυασμένο αρχείο
- <filename>/boot/boot</filename> από το πρόγραμμα εγκατάστασης ή το
- <application>bsdlabel</application> (δείτε παρακάτω).</para>
-
- <para>Βρίσκονται έξω από συστήματα αρχείων, στην πρώτη τροχιά (track)
- του slice εκκίνησης, ξεκινώντας από τον πρώτο τομέα. Είναι το σημείο
- όπου το <link linkend="boot-boot0">boot0</link>, ή οποιοσδήποτε άλλος
- διαχειριστής εκκίνησης, αναμένει να βρει πρόγραμμα προς εκτέλεση με
- το οποίο θα συνεχιστεί η διαδικασία εκκίνησης. Ο αριθμός των τομέων
- που χρησιμοποιούνται μπορεί να βρεθεί εύκολα από το μέγεθος του
- αρχείου <filename>/boot/boot</filename>.</para>
-
- <para>Το <filename>boot1</filename> είναι πολύ απλό, μια και μπορεί να
- είναι μόνο 512 bytes σε μέγεθος, και γνωρίζει όσα χρειάζεται για το
- <firstterm>bsdlabel</firstterm> του &os;, το οποίο αποθηκεύει
- πληροφορίες σχετικά με το slice, ώστε να βρει και να εκτελέσει το
- <filename>boot2</filename>.</para>
-
- <para>Το <filename>boot2</filename> είναι ελαφρά πιο πολύπλοκο και
- κατανοεί επαρκώς το σύστημα αρχείων του &os; ώστε να μπορεί να βρει
- αρχεία σε αυτό, και μπορεί επίσης να παρέχει μια απλή διεπαφή με το
- χρήστη ώστε να μπορεί να γίνει η επιλογή του πυρήνα ή του προγράμματος
- φόρτωσης που θα εκτελεστεί.</para>
-
- <para>Το <filename>boot2</filename> συνήθως εκτελεί τον
- <link linkend="boot-loader">loader (φορτωτής εκκίνησης)</link> ο
- οποίος είναι εξαιρετικά πιο πολύπλοκος, αλλά παρέχει ένα ωραίο και
- εύκολο τρόπο ρύθμισης της εκκίνησης. Παλιότερα το
- <filename>boot2</filename> αναλάμβανε να φορτώσει απευθείας τον
- πυρήνα.</para>
-
- <example xml:id="boot-boot2-example">
- <title>Εικόνα από το <filename>boot2</filename></title>
-
- <screen>&gt;&gt; FreeBSD/i386 BOOT
-Default: 0:ad(0,a)/boot/loader
-boot:</screen>
- </example>
-
- <para>Αν χρειαστεί ποτέ να αντικαταστήσετε τα εγκατεστημένα
- <filename>boot1</filename> και <filename>boot2</filename>
- χρησιμοποιήστε το &man.bsdlabel.8;:</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -B diskslice</userinput></screen>
-
- <para>όπου το <replaceable>diskslice</replaceable> είναι ο δίσκος και
- το slice από το οποίο γίνεται η εκκίνηση, όπως π.χ.
- <filename>ad0s1</filename> για το πρώτο slice στον πρώτο IDE
- δίσκο.</para>
-
- <warning>
- <title>Επικίνδυνα Αφοσιωμένη Κατάσταση (Dangerously Dedicated
- Mode)</title>
-
- <para>Αν χρησιμοποιήσετε μόνο το όνομα του δίσκου, όπως π.χ.
- <filename>ad0</filename>, στην εντολή &man.bsdlabel.8; θα
- δημιουργήσετε ένα επικίνδυνα αφοσιωμένο δίσκο, χωρίς slices. Είναι
- σχεδόν σίγουρο ότι δεν θέλετε να το κάνετε αυτό, γι' αυτό
- σιγουρευτείτε ότι ελέγξατε την εντολή &man.bsdlabel.8; πριν πιέσετε
- <keycap>Return</keycap>.</para>
- </warning>
- </sect2>
-
- <sect2 xml:id="boot-loader">
- <title>Στάδιο Τρία, <filename>/boot/loader</filename></title>
-
- <indexterm><primary>boot-loader</primary></indexterm>
- <para>Ο loader, ή φορτωτής εκκίνησης, είναι το τελικό στάδιο του
- συστήματος εκκίνησης τριών σταδίων, και βρίσκεται στο σύστημα αρχείων,
- συνήθως ως <filename>/boot/loader</filename>.</para>
-
- <para>Προορισμός του loader είναι να παρέχει μια μέθοδο ρύθμισης φιλική
- προς το χρήστη, και χρησιμοποιεί ένα εύκολο σύνολο εντολών, το οποίο
- υποστηρίζεται από ένα ισχυρό μεταφραστή εντολών με ένα
- πολυπλοκότερο σύνολο εντολών.</para>
-
- <sect3 xml:id="boot-loader-flow">
- <title>Ροή του Προγράμματος Loader</title>
-
- <para>Κατά την αρχικοποίηση, ο loader θα ανιχνεύσει την κονσόλα και
- τους δίσκους και θα καθορίσει από ποιο δίσκο γίνεται η εκκίνηση. Θα
- ρυθμίσει κατάλληλα τις αντίστοιχες μεταβλητές και θα ξεκινήσει ένα
- πρόγραμμα μετάφρασης εντολών (interpreter) στο οποίο μπορεί ο
- χρήστης να δίνει εντολές, είτε απευθείας, είτε μέσω κάποιου
- script.</para>
-
- <indexterm><primary>loader</primary></indexterm>
- <indexterm><primary>loader configuration</primary></indexterm>
-
- <para>Ο loader κατόπιν θα διαβάσει το αρχείο
- <filename>/boot/loader.rc</filename>, το οποίο με τη σειρά του
- διαβάζει, από προεπιλογή, το
- <filename>/boot/defaults/loader.conf</filename>. Μέσα από το αρχείο
- αυτό τίθενται λογικές προεπιλεγμένες τιμές για κάποιες μεταβλητές.
- Έπειτα, διαβάζεται το αρχείο
- <filename>/boot/loader.conf</filename> για τυχόν τοπικές αλλαγές
- στις μεταβλητές αυτές. Κατόπιν το <filename>loader.rc</filename>
- χρησιμοποιεί αυτές τις μεταβλητές, φορτώνοντας τα αρθρώματα
- (modules) και τον πυρήνα που έχει επιλεγεί.</para>
-
- <para>Τελικά, ο loader, περιμένει 10 δευτερόλεπτα (προεπιλεγμένο
- χρονικό διάστημα) για την πίεση κάποιου πλήκτρου, και αν δεν
- υπάρξει παρέμβαση από τον χρήστη, ξεκινάει τον πυρήνα. Αν γίνει
- παρέμβαση, εμφανίζεται στον χρήστη μια προτροπή η οποίο κατανοεί το
- εύκολο σύνολο εντολών που αναφέραμε προηγουμένως, και όπου ο χρήστης
- μπορεί να ρυθμίσει μεταβλητές, να αποφορτώσει όλα τα αρθρώματα, να
- φορτώσει αρθρώματα και τελικά να προβεί σε εκκίνηση ή
- επανεκκίνηση.</para>
- </sect3>
-
- <sect3 xml:id="boot-loader-commands">
- <title>Εντολές Ενσωματωμένες στο Loader</title>
-
- <para>Παρακάτω θα δείτε τις πιο συχνά χρησιμοποιούμενες εντολές του
- loader. Για περισσότερες λεπτομέρειες σχετικά με όλες τις
- διαθέσιμες εντολές, παρακαλούμε να δείτε το &man.loader.8;.</para>
-
- <variablelist>
- <varlistentry>
- <term>autoboot <replaceable>seconds</replaceable></term>
-
- <listitem>
- <para>Προχωρά στην εκκίνηση του πυρήνα, αν δεν υπάρξει παρέμβαση
- από το χρήστη μέσα στο καθορισμένο χρονικό διάστημα που
- δίνεται σε δευτερόλεπτα. Απεικονίζει αντίστροφη μέτρηση, και
- ο προεπιλεγμένος χρόνος είναι τα 10 δευτερόλεπτα.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>boot
- <optional>-options</optional>
- <optional>kernelname</optional></term>
-
- <listitem>
- <para>Προχωράει άμεσα στην εκκίνηση του πυρήνα, χρησιμοποιώντας
- όποιες τυχόν επιλογές έχουν δοθεί και το όνομα του πυρήνα που
- θα εκτελεστεί αν έχει επίσης δοθεί. Για να δώσετε διαφορετικό
- όνομα πυρήνα στην γραμμή εντολής, θα πρέπει πρώτα να
- χρησιμοποιήσετε την εντολή <emphasis>unload</emphasis>.
- Διαφορετικά, θα χρησιμοποιηθεί ο πυρήνας που έχει φορτωθεί
- ήδη.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>boot-conf</term>
-
- <listitem>
- <para>Διατρέχει την αυτόματη ρύθμιση των αρθρωμάτων (module) που
- βασίζεται σε μεταβλητές, με τον ίδιο τρόπο που γίνεται και σε
- κανονική εκκίνηση. Αυτό έχει νόημα μόνο αν χρησιμοποιήσετε
- πρώτα το <command>unload</command> και αλλάξετε κάποιες
- μεταβλητές, συνήθως το <envar>kernel</envar>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>help
- <optional>topic</optional></term>
-
- <listitem>
- <para>Δείχνει μηνύματα βοήθειας, τα οποία διαβάζονται από το
- <filename>/boot/loader.help</filename>. Αν το topic (θέμα)
- που δόθηκε είναι η λέξη <literal>index</literal>, θα δείτε μια
- λίστα με τα διαθέσιμα θέματα βοήθειας.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>include <replaceable>filename</replaceable>
- &hellip;</term>
-
- <listitem>
- <para>Επεξεργάζεται το αρχείο με το όνομα αρχείου που δόθηκε
- (filename). Γίνεται ανάγνωση και γραμμή προς γραμμή μετάφραση
- του αρχείου. Η εντολή include σταματάει άμεσα αν εντοπιστεί
- κάποιο λάθος.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>load <optional>-t
- type</optional>
- <replaceable>filename</replaceable></term>
-
- <listitem>
- <para>Φορτώνει τον πυρήνα, το άρθρωμα πυρήνα ή ένα αρχείο του
- τύπου που καθορίστηκε, με βάση το όνομα αρχείου που δόθηκε.
- Αν μετά το όνομα αρχείου υπάρχουν παράμετροι, περνιούνται ως
- παράμετροι στο αρχείο που φορτώνεται.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>ls <optional>-l</optional>
- <optional>path</optional></term>
-
- <listitem>
- <para>Δείχνει ένα κατάλογο των αρχείων της διαδρομής που
- δόθηκε, ή αν δεν καθορίστηκε διαδρομή, του ριζικού καταλόγου.
- Αν δοθεί και η επιλογή <option>-l</option> θα εμφανίζονται
- επίσης και τα μεγέθη των αρχείων.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>lsdev <optional>-v</optional></term>
-
- <listitem>
- <para>Εμφανίζει όλες τις συσκευές από τις οποίες είναι δυνατή η
- φόρτωση αρθρωμάτων. Αν δοθεί με την επιλογή
- <option>-v</option>, εμφανίζονται περισσότερες
- λεπτομέρειες.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>lsmod <optional>-v</optional></term>
-
- <listitem>
- <para>Εμφανίζει τα αρθρώματα που έχουν φορτωθεί. Αν δοθεί η
- επιλογή <option>-v</option>, εμφανίζονται περισσότερες
- λεπτομέρειες.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>more <replaceable>filename</replaceable></term>
-
- <listitem>
- <para>Εμφανίζει το αρχείο που καθορίζεται, με παύσεις κάθε
- <varname>LINES</varname> αριθμό γραμμών.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>reboot</term>
-
- <listitem>
- <para>Επανεκκινεί άμεσα το σύστημα.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>set <replaceable>variable</replaceable></term>
- <term>set <replaceable>variable</replaceable>=<replaceable>value</replaceable></term>
-
- <listitem>
- <para>Καθορίζει μεταβλητές περιβάλλοντος για τον loader.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>unload</term>
-
- <listitem>
- <para>Αποφορτώνει όλα τα αρθρώματα.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect3>
-
- <sect3 xml:id="boot-loader-examples">
- <title>Παραδείγματα για τον Loader</title>
-
- <para>Εδώ θα βρείτε μερικά πρακτικά παραδείγματα σχετικά με την χρήση
- του loader:</para>
-
- <itemizedlist>
- <listitem>
- <para>Για να ξεκινήσετε το συνηθισμένο πυρήνα σας, αλλά σε
- κατάσταση ενός χρήστη:<indexterm><primary>single-user mode</primary></indexterm></para>
-
- <screen><userinput>boot -s</userinput></screen>
- </listitem>
-
- <listitem>
- <para>Για να αποφορτώσετε το συνηθισμένο πυρήνα σας και να
- φορτώσετε τον παλιό σας (ή κάποιο άλλο):</para>
- <indexterm>
- <primary><filename>kernel.old</filename></primary>
- </indexterm>
-
- <screen><userinput>unload</userinput>
-<userinput>load kernel.old</userinput></screen>
-
- <para>Μπορείτε να χρησιμοποιήσετε το όνομα
- <filename>kernel.GENERIC</filename> για να αναφερθείτε στον
- αρχικό (generic) πυρήνα ο οποίος υπάρχει στο CD της
- εγκατάστασης, ή το <filename>kernel.old</filename> για να
- αναφερθείτε στον πυρήνα που είχατε εγκατεστημένο πριν (για
- παράδειγμα, τον παλιό σας πυρήνα αν κάνατε πρόσφατα ρύθμιση και
- εγκατάσταση νέου δικού σας προσαρμοσμένου πυρήνα).</para>
-
- <note>
- <para>Χρησιμοποιήστε το παρακάτω για να φορτώσετε τα συνηθισμένα
- σας αρθρώματα σε κάποιο άλλο πυρήνα:</para>
-
- <screen><userinput>unload</userinput>
-<userinput>set kernel="kernel.old"</userinput>
-<userinput>boot-conf</userinput></screen>
- </note>
- </listitem>
-
- <listitem>
- <para>Για να φορτώσετε ένα script ρύθμισης πυρήνα (ένα
- αυτοματοποιημένο πρόγραμμα το οποίο εκτελεί τις λειτουργίες που
- κανονικά θα κάνατε μέσω κάποιου προγράμματος ρύθμισης πυρήνα
- κατά την εκκίνηση):</para>
-
- <screen><userinput>load -t userconfig_script /boot/kernel.conf</userinput></screen>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 xml:id="boot-splash">
- <info><title>Γραφική Οθόνη Εκκίνησης</title>
- <authorgroup>
- <author><personname><firstname>Joseph J.</firstname><surname>Barbish</surname></personname><contrib>Συνεισφορά από τον </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Η γραφική οθόνη εκκίνησης (splash screen) δημιουργεί ένα πιο
- ευχάριστο περιβάλλον σε σχέση με την απλή απεικόνιση των μηνυμάτων
- εκκίνησης σε μορφή κειμένου. Η γραφική οθόνη εκκίνησης εμφανίζεται
- ως ότου το σύστημα φτάσει στην προτροπή εισόδου (login), είτε στην
- κονσόλα, είτε στο γραφικό περιβάλλον.</para>
-
- <para>Το &os; διαθέτει δύο βασικά περιβάλλοντα. Το πρώτο είναι
- το προεπιλεγμένο περιβάλλον κειμένου γραμμής εντολών (κονσόλα).
- Μετά το τέλος της εκκίνησης, εμφανίζεται στην κονσόλα μια προτροπή
- εισόδου. Το δεύτερο, είναι το γραφικό περιβάλλον
- που παρέχεται από το σύστημα Χ11. Μετά την εγκατάσταση του
- <link linkend="x-install">X11</link> και ενός από τους γραφικούς
- <link linkend="x11-wm">διαχειριστές παραθύρων ή desktop</link>,
- όπως είναι τα <application>GNOME</application>,
- <application>KDE</application> ή <application>XFce</application>,
- μπορείτε να ξεκινήσετε το γραφικό περιβάλλον με την εντολή
- <command>startx</command>.</para>
-
- <para>Μερικοί χρήστες προτιμούν να συνδέονται στο σύστημα μέσω
- γραφικής οθόνη εισόδου, αντί να χρησιμοποιούν την προτροπή εισόδου
- της κονσόλας. Η δυνατότητα αυτή παρέχεται απο διαχειριστές οθόνης,
- όπως ο <application>XDM</application> για το &xorg;, o
- <application>gdm</application> για το
- <application>GNOME</application> και ο
- <application>kdm</application> για το
- <application>KDE</application> (καθώς και άλλους που διατίθενται
- στη Συλλογή των Ports). Μετά από μια επιτυχημένη είσοδο,
- παρουσιάζεται άμεσα στο χρήστη το γραφικό περιβάλλον της επιλογής
- του.</para>
-
- <para>Στο περιβάλλον της γραμμής εντολών, η γραφική οθόνη εκκίνησης
- θα αποκρύψει όλα τα μηνύματα ανίχνευσης των συσκευών και υπηρεσιών,
- μέχρι την εμφάνιση της προτροπής εισόδου. Με απευθείας εκκίνηση σε
- περιβάλλον X11, η εμπειρία εκκίνησης θα είναι ακόμα πιο καθαρή,
- και θα μοιάζει περισσότερο με την αντίστοιχη σε ένα περιβάλλον
- &microsoft; &windows; ή άλλου μη-UNIX συστήματος.</para>
-
- <sect4 xml:id="boot-splash-function">
- <title>Λειτουργία της Γραφικής Οθόνης Εκκίνησης</title>
-
- <para>Η γραφική οθόνη εκκίνησης υποστηρίζει εικόνες bitmap
- (<filename>.bmp</filename>), ZSoft <acronym>PCX</acronym>
- (<filename>.pcx</filename>) ή TheDraw (<filename>.bin</filename>)
- 256 χρωμάτων. Επιπρόσθετα, οι εικόνες που χρησιμοποιούνται
- πρέπει να έχουν ανάλυση 320x200 ή μικρότερη για να λειτουργήσουν
- σε τυπικούς προσαρμογείς οθόνης VGA.</para>
-
- <para>Για να χρησιμοποιήσετε μεγαλύτερες εικόνες, μέχρι την μέγιστη
- ανάλυση των 1024x768 pixels, ενεργοποιήστε την υποστήριξη
- <acronym>VESA</acronym> που περιλαμβάνεται στο &os;. Μπορείτε να
- την ενεργοποιήσετε φορτώνοντας το άρθρωμα <acronym>VESA</acronym>
- κατά την εκκίνηση του συστήματος, η προσθέτοντας την επιλογή
- <literal>VESA</literal> στο αρχείο ρυθμίσεων του πυρήνα, και
- δημιουργώντας ένα νέο προσαρμοσμένο πυρήνα (<xref linkend="kernelconfig"/>). Η υποστήριξη <acronym>VESA</acronym>
- δίνει στους χρήστες την δυνατότητα να χρησιμοποιήσουν μια εικόνα
- που να καλύπτει όλη την οθόνη.</para>
-
- <para>Μπορείτε να δείτε τα κανονικά μηνύματα εκκίνησης όσο
- εμφανίζεται η γραφική οθόνη εκκίνησης, πιέζοντας απλώς
- οποιοδήποτε πλήκτρο.</para>
-
- <para>Η οθόνη εκκίνησης γίνεται επίσης η προεπιλεγμένη προφύλαξη
- οθόνης, όσο το σύστημα λειτουργεί σε περιβάλλον κονσόλας. Μετά
- από κάποιο χρονικό διάστημα αδράνειας, η οθόνη αλλάζει,
- απεικονίζοντας την εικόνα που χρησιμοποιήθηκε στην εκκίνηση,
- με κυκλική εναλλαγή της φωτεινότητας από πολύ φωτεινή ως πολύ
- σκοτεινή. Μπορείτε να αλλάξετε αυτή την προεπιλεγμένη προφύλαξη
- οθόνης, προσθέτοντας μια γραμμή <literal>saver=</literal> στο
- αρχείο <filename>/etc/rc.conf</filename>. Για την επιλογή
- <literal>saver=</literal>, υπάρχουν αρκετές ενσωματωμένες
- προφυλάξεις οθόνης για να επιλέξετε. Μπορείτε να δείτε την πλήρη
- λίστα στη σελίδα manual του &man.splash.4;. Η προεπιλεγμένη
- προφύλαξη οθόνης ονομάζεται <quote>warp</quote>. Σημειώστε ότι η
- προφύλαξη οθόνης που καθορίζεται στο αρχείο
- <filename>/etc/rc.conf</filename> μέσω της επιλογής
- <literal>saver=</literal> έχει επίδραση μόνο στις εικονικές
- κονσόλες. Δεν επηρεάζει καθόλου το γραφικό περιβάλλον X11.</para>
-
- <para>Κάποια μηνύματα εκκίνησης εξακολουθούν να εμφανίζονται, ακόμα
- και μετά την εφαρμογή της γραφικής οθόνης εκκίνησης. Τα μηνύματα
- αυτά περιλαμβάνουν το μενού επιλογών εκκίνησης και την αντίστροφη
- μέτρηση χρόνου που το συνοδεύει.</para>
-
- <para>Μπορείτε να κατεβάσετε υποδείγματα εικόνων για χρήση στην
- εκκίνηση, από τη συλλογή εικόνων στην τοποθεσία <link xlink:href="http://artwork.freebsdgr.org/node/3">http://artwork.freebsdgr.org</link>.
- Αν εγκαταστήσετε το Port <package>sysutils/bsd-splash-changer</package>, θα έχετε
- τυχαία εναλλαγή εικόνων (που θα επιλέγονται από μια έτοιμη
- συλλογή) σε κάθε εκκίνηση του συστήματος.</para>
- </sect4>
-
- <sect4 xml:id="boot-splash-enable">
- <title>Ενεργοποίηση της Γραφικής Οθόνης Εκκίνησης</title>
-
- <para>Το αρχείο που θα χρησιμοποιηθεί για την γραφική οθόνη
- εκκίνησης (τύπου <filename>.bmp</filename>,
- <filename>.pcx</filename> ή <filename>.bin</filename>) θα πρέπει
- να τοποθετηθεί στην ριζική (root) κατάτμηση, για παράδειγμα στον
- κατάλογο <filename>/boot/</filename>.</para>
-
- <para>Για την προεπιλεγμένη ανάλυση οθόνης (320x200 ή μικρότερη,
- 256 χρώματα), επεξεργαστείτε το αρχείο
- <filename>/boot/loader.conf</filename> ώστε να περιέχει τα
- παρακάτω:</para>
-
- <programlisting>splash_bmp_load="YES"
-bitmap_load="YES"
-bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
-
- <para>Για μεγαλύτερες αναλύσεις, μέχρι την μέγιστη 1024x768,
- επεξεργαστείτε το αρχείο <filename>/boot/loader.conf</filename>
- ώστε να περιέχει το παρακάτω:</para>
-
- <programlisting>vesa_load="YES"
-splash_bmp_load="YES"
-bitmap_load="YES"
-bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
-
- <para>Το παραπάνω υποθέτει ότι θα χρησιμοποιήσετε το αρχείο
- <filename>/boot/splash.bmp</filename>
- για την γραφική οθόνη εκκίνησης. Αν θέλετε να χρησιμοποιήσετε
- εικόνα τύπου <acronym>PCX</acronym>, χρησιμοποιήστε τις παρακάτω
- επιλογές, καθώς και την επιλογή
- <literal>vesa_load="YES"</literal>, ανάλογα με την ανάλυση:</para>
-
- <programlisting>splash_pcx_load="YES"
-bitmap_load="YES"
-bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>
-
- <para>Στην έκδοση 8.3, μια ακόμα επιλογή είναι η χρήση ascii art
- σε μορφή <link xlink:href="https://en.wikipedia.org/wiki/TheDraw">The
- Draw</link>.</para>
-
- <programlisting>splash_txt="YES"
-bitmap_load="YES"
-bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
-
- <para>Το όνομα αρχείου δεν είναι απαραίτητο να είναι
- <quote>splash</quote> όπως φαίνεται στο παραπάνω παράδειγμα.
- Μπορεί να είναι οτιδήποτε, αρκεί να πρόκειται για αρχείο των
- τύπων που αναφέραμε παραπάνω, για παράδειγμα
- <filename>splash_640x400.bmp</filename>
- ή
- <filename>blue_wave.pcx</filename>.</para>
-
- <para>Παρακάτω φαίνονται μερικές ακόμα ενδιαφέρουσες επιλογές που
- μπορείτε να χρησιμοποιήσετε στο
- <filename>/boot/loader.conf</filename>:</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>beastie_disable="YES"</literal></term>
-
- <listitem>
- <para>Η επιλογή αυτή καταργεί την εμφάνιση του μενού επιλογών
- εκκίνησης. Παραμένει ωστόσο η αντίστροφη μέτρηση με την
- προτροπή εισαγωγής επιλογών εκκίνησης. Ακόμα και όταν δεν
- εμφανίζεται το μενού επιλογών, αν ο χρήστης κάνει μια
- επιλογή στη διάρκεια του προεπιλεγμένου χρόνου αναμονής,
- η επιλογή αυτή θα ισχύσει για την εκκίνηση.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>loader_logo="beastie"</literal></term>
-
- <listitem>
- <para>Η επιλογή αυτή αλλάζει το κείμενο <quote>&os;</quote>
- που εμφανίζεται στο δεξιό μέρος του μενού επιλογών
- εκκίνησης, με ένα έγχρωμο λογότυπο του beastie, όπως
- εμφανιζόταν στις παλαιότερες εκδόσεις.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Για περισσότερες πληροφορίες, παρακαλούμε ανατρέξτε στις
- σελίδες manual &man.splash.4;, &man.loader.conf.5; και
- &man.vga.4;.</para>
- </sect4>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="boot-kernel">
- <title>Αλληλεπίδραση με τον Πυρήνα κατά την Εκκίνηση</title>
- <indexterm>
- <primary>kernel</primary>
- <secondary>boot interaction</secondary>
- </indexterm>
-
- <para>Από τη στιγμή που ο πυρήνας φορτωθεί, είτε μέσω του
- <link linkend="boot-loader">loader</link> (όπως συνήθως) είτε μέσω του
- <link linkend="boot-boot1">boot2</link> (παρακάμπτοντας τον loader),
- εξετάζει τις παραμέτρους εκκίνησης (boot flags), αν υπάρχουν, και
- προσαρμόζει ανάλογα τη συμπεριφορά του.</para>
-
- <sect2 xml:id="boot-kernel-bootflags">
- <title>Παράμετροι Εκκίνησης Πυρήνα (Boot Flags)</title>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>bootflags</secondary>
- </indexterm>
-
- <para>Παρακάτω θα βρείτε τις πιο συνηθισμένες παραμέτρους
- εκκίνησης:</para>
-
- <variablelist xml:id="boot-kernel-bootflags-list">
- <varlistentry>
- <term><option>-a</option></term>
-
- <listitem>
- <para>κατά τη διάρκεια της εκκίνησης, θα γίνει ερώτηση για την
- συσκευή από την οποία θα γίνει η προσάρτηση του ριζικού (root)
- συστήματος αρχείων.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-C</option></term>
-
- <listitem>
- <para>εκκίνηση από το CDROM.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-c</option></term>
-
- <listitem>
- <para>εκτέλεση του UserConfig, του προγράμματος ρύθμισης πυρήνα
- κατά την εκκίνηση.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-s</option></term>
-
- <listitem>
- <para>εκκίνηση σε κατάσταση λειτουργίας ενός χρήστη (single
- user).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-v</option></term>
-
- <listitem>
- <para>εμφάνιση περισσότερων πληροφοριών κατά τη διάρκεια εκκίνησης
- του πυρήνα.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <note>
- <para>Υπάρχουν και άλλες παράμετροι εκκίνησης, διαβάστε τη σελίδα
- &man.boot.8; για περισσότερες πληροφορίες σχετικά με αυτές.</para>
- </note>
- </sect2>
-
-<!-- <sect2 id="boot-kernel-userconfig">
- <title>UserConfig: the Boot-time Kernel Configurator</title>
-
- <para> </para>
- </sect2> -->
- </sect1>
-
- <sect1 xml:id="device-hints">
- <info><title>Device Hints</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Συνεισφορά από τον </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <indexterm>
- <primary>device.hints</primary>
- </indexterm>
-
- <para>Κατά τη διάρκεια της αρχικής εκκίνησης του συστήματος, το πρόγραμμα
- του boot &man.loader.8; διαβάζει το αρχείο &man.device.hints.5;. Το
- αρχείο αυτό περιέχει πληροφορίες εκκίνησης για τον πυρήνα, γνωστές ως
- μεταβλητές, οι οποίες μερικές φορές αναφέρονται επίσης και ως
- <quote>device hints</quote>. Αυτά τα <quote>device hints</quote>
- χρησιμοποιούνται από προγράμματα οδήγησης συσκευών για ρύθμιση των
- αντίστοιχων συσκευών.</para>
-
- <para>Μπορούμε επίσης να ορίσουμε Device hints στην προτροπή του
- <link linkend="boot-loader"> Σταδίου 3 του boot loader</link>.
- Οι μεταβλητές μπορούν να οριστούν με χρήση της εντολής
- <command>set</command>, και να αφαιρεθούν με την
- <command>unset</command>. Μπορούμε επίσης να τις εμφανίσουμε με την
- εντολή <command>show</command>. Ακόμα, μπορούμε εδώ να παρακάμψουμε
- και να αλλάξουμε την τιμή μεταβλητών που έχουν οριστεί στο αρχείο
- <filename>/boot/device.hints</filename>. Τα Device hints που ορίζουμε
- στο boot loader δεν παραμένουν μόνιμα και δεν θα ισχύσουν στην επόμενη
- εκκίνηση.</para>
-
- <para>Μετά την εκκίνηση του συστήματος, μπορεί να χρησιμοποιηθεί η εντολή
- &man.kenv.1; για να εμφανιστούν οι τιμές όλων των μεταβλητών.</para>
-
- <para>Το συντακτικό του αρχείου <filename>/boot/device.hints</filename>
- είναι μια μεταβλητή ανά γραμμή, και χρησιμοποιείται το τυποποιημένο
- <quote>#</quote> για γραμμές που δηλώνονται ως σχόλια. Οι γραμμές
- δημιουργούνται όπως φαίνεται παρακάτω:</para>
-
- <screen><userinput>hint.driver.unit.keyword="value"</userinput></screen>
-
- <para>Η σύνταξη για το Στάδιο 3 του boot loader είναι:</para>
-
- <screen><userinput>set hint.driver.unit.keyword=value</userinput></screen>
-
- <para>όπου <literal>driver</literal> είναι το όνομα του οδηγού συσκευής,
- <literal>unit</literal> είναι ο αριθμός μονάδας της συσκευής, και
- <literal>keyword</literal> είναι η λέξη-κλειδί για το συγκεκριμένο hint.
- Η λέξη-κλειδί μπορεί να αποτελείται από τις ακόλουθες επιλογές:</para>
-
- <itemizedlist>
- <listitem>
- <para><literal>at</literal>: καθορίζει το δίαυλο (bus) στον οποίο
- προσαρτάται η συσκευή.</para>
- </listitem>
-
- <listitem>
- <para><literal>port</literal>: καθορίζει την αρχική διεύθυνση της
- θύρας <acronym>I/O</acronym> που θα χρησιμοποιηθεί.</para>
- </listitem>
-
- <listitem>
- <para><literal>irq</literal>: καθορίζει τον αριθμό της αίτησης
- διακοπής (interrupt request) που θα χρησιμοποιηθεί.</para>
- </listitem>
-
- <listitem>
- <para><literal>drq</literal>: καθορίζει τον αριθμό του καναλιού
- DMA.</para>
- </listitem>
-
- <listitem>
- <para><literal>maddr</literal>: καθορίζει τη φυσική διεύθυνση μνήμης
- που καταλαμβάνεται από τη συσκευή.</para>
- </listitem>
-
- <listitem>
- <para><literal>flags</literal>: ορίζει διάφορα bits παραμέτρων για
- την συσκευή.</para>
- </listitem>
-
- <listitem>
- <para><literal>disabled</literal>: Αν οριστεί σε τιμή
- <literal>1</literal>, η συσκευή απενεργοποιείται.</para>
- </listitem>
- </itemizedlist>
-
- <para>Οι οδηγοί συσκευών μπορεί να δέχονται (ή να απαιτούν) περισσότερα
- hints τα οποία δεν φαίνονται εδώ, και σας συνιστούμε να δείτε την
- αντίστοιχη σελίδα manual του κάθε οδηγού. Για περισσότερες πληροφορίες
- συμβουλευθείτε επίσης τις σελίδες manual των
- &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, και
- &man.loader.8;.</para>
- </sect1>
-
- <sect1 xml:id="boot-init">
- <title>Init: Αρχικοποίηση Ελέγχου Διαδικασιών</title>
-
- <indexterm>
- <primary><command>init</command></primary>
- </indexterm>
-
- <para>Μόλις ολοκληρωθεί η εκκίνηση του πυρήνα, ο έλεγχος μεταφέρεται στην
- διαδικασία χρήστη &man.init.8;, η οποία βρίσκεται στο αρχείο
- <filename>/sbin/init</filename>, ή στη διαδρομή που καθορίζεται στην
- μεταβλητή <envar>init_path</envar> του <command>loader</command>.</para>
-
- <sect2 xml:id="boot-autoreboot">
- <title>Ακολουθία Αυτόματης Επανεκκίνησης</title>
-
- <para>Η ακολουθία αυτόματης επανεκκίνησης εξασφαλίζει ότι τα συστήματα
- αρχείων είναι σε κανονική, σταθερή κατάσταση. Αν δεν είναι, και η
- &man.fsck.8; δεν μπορεί να διορθώσει τα προβλήματα, τότε η
- &man.init.8; θα μεταφέρει το σύστημα σε
- <link linkend="boot-singleuser">κατάσταση λειτουργίας ενός
- χρήστη</link> ώστε να μπορέσει άμεσα ο διαχειριστής συστήματος να
- επιληφθεί των προβλημάτων αυτών.</para>
- </sect2>
-
- <sect2 xml:id="boot-singleuser">
- <title>Κατάσταση Λειτουργίας Ενός Χρήστη</title>
- <indexterm><primary>single-user mode</primary></indexterm>
- <indexterm><primary>console</primary></indexterm>
-
- <para>Μπορείτε να εισέλθετε στην κατάσταση αυτή μέσω της <link linkend="boot-autoreboot">ακολουθίας αυτόματης επανεκκίνησης</link>,
- ή μέσω της επιλογής <option>-s</option> κατά την εκκίνηση ή ακόμα και
- θέτοντας τη μεταβλητή <envar>boot_single</envar> στον
- <command>loader</command>.</para>
-
- <para>Μπορείτε επίσης να εισέλθετε σε αυτή εκτελώντας την εντολή
- &man.shutdown.8; χωρίς την επιλογή επανεκκίνησης
- (<option>-r</option>) ή τερματισμού (<option>-h</option>),
- ενώ είστε σε κατάσταση λειτουργίας
- <link linkend="boot-multiuser">πολλών χρηστών
- (multi-user)</link>.</para>
-
- <para>Αν η <literal>κονσόλα</literal> του συστήματος έχει τεθεί ως
- <literal>insecure</literal> (ανασφαλής) στο
- <filename>/etc/ttys</filename>, το σύστημα θα ζητήσει τον κωδικό
- του <systemitem class="username">root</systemitem> πριν εισέλθει σε κατάσταση λειτουργίας
- ενός χρήστη.</para>
-
- <example xml:id="boot-insecure-console">
- <title>Ανασφαλής Κονσόλα στο <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>Μια <literal>insecure</literal> (ανασφαλής) κονσόλα σημαίνει
- ότι δεν θεωρείτε ασφαλή την κονσόλα όσο αφορά τη φυσική της πρόσβαση
- και θέλετε να είστε βέβαιος ότι μόνο όποιος γνωρίζει τον κωδικό του
- <systemitem class="username">root</systemitem> θα μπορεί να χρησιμοποιήσει τη λειτουργία
- ενός χρήστη. Η επιλογή αυτή δεν σημαίνει ότι θέλετε η κονσόλα σας
- να λειτουργεί χωρίς ασφάλεια. Αν θέλετε ασφάλεια, θα πρέπει να
- επιλέξετε <literal>insecure</literal>, όχι
- <literal>secure</literal>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="boot-multiuser">
- <title>Κατάσταση Λειτουργία Πολλαπλών Χρηστών (multi-user)</title>
- <indexterm><primary>multi-user mode</primary></indexterm>
-
- <para>Αν η &man.init.8; δεν βρει προβλήματα στα συστήματα αρχείων σας,
- ή μόλις ο χρήστης τερματίσει την
- <link linkend="boot-singleuser">κατάσταση λειτουργίας ενός
- χρήστη</link>, το σύστημα εισέρχεται σε λειτουργία πολλαπλών χρηστών,
- όπου και ξεκινά πλέον η ρύθμιση πόρων (resources) του
- συστήματος.</para>
-
- <sect3 xml:id="boot-rc">
- <title>Ρύθμιση Πόρων (rc)</title>
-
- <indexterm><primary>rc files</primary></indexterm>
-
- <para>Το σύστημα ρύθμισης πόρων, διαβάζει τις προεπιλεγμένες επιλογές
- από το <filename>/etc/defaults/rc.conf</filename>, και επιλογές
- για το συγκεκριμένο μηχάνημα από το
- <filename>/etc/rc.conf</filename>, και προχωρεί στην προσάρτηση
- των συστημάτων αρχείων που αναγράφονται στο
- <filename>/etc/fstab</filename>, ξεκινά τις υπηρεσίες δικτύου,
- εκκινεί διάφορους δαίμονες, και τέλος εκτελεί τα scripts εκκίνησης
- των τοπικά εγκατεστημένων πακέτων (εφαρμογών).</para>
-
- <para>Η σελίδα manual &man.rc.8; παρέχει μια καλή αναφορά στο σύστημα
- ρύθμισης πόρων, καθώς εξετάζει τα ίδια τα scripts εκκίνησης.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="boot-shutdown">
- <title>Ακολουθία Τερματισμού</title>
- <indexterm>
- <primary><command>shutdown</command></primary>
- </indexterm>
-
- <para>Κατά τον ελεγχόμενο τερματισμό, μέσω της &man.shutdown.8;, η
- &man.init.8; θα αποπειραθεί να εκτελέσει το script
- <filename>/etc/rc.shutdown</filename>, και ακολούθως θα στείλει σε
- όλες τις διεργασίες το σήμα <literal>TERM</literal>, και τέλος το
- σήμα <literal>KILL</literal> σε όποια διεργασία δεν τερματίσει σε
- εύλογο χρονικό διάστημα.</para>
-
- <para>Για να γίνει και διακοπή της τροφοδοσίας σε ένα σύστημα &os; με
- αρχιτεκτονική που υποστηρίζει διαχείριση ενέργειας, απλώς χρησιμοποιήστε
- την εντολή <command>shutdown -p now</command> για απενεργοποίηση μετά
- τον τερματισμό. Για να κάνετε απλώς επανεκκίνηση σε ένα σύστημα &os;
- χρησιμοποιήστε την εντολή <command>shutdown -r now</command>. Θα
- πρέπει να είστε <systemitem class="username">root</systemitem> ή μέλος της ομάδας
- <systemitem class="groupname">operator</systemitem> για να εκτελέσετε την &man.shutdown.8;.
- Μπορείτε επίσης να χρησιμοποιήσετε τις εντολές &man.halt.8; και
- &man.reboot.8;, κοιτάξτε τις αντίστοιχες σελίδες manual καθώς και τη
- σελίδα manual της &man.shutdown.8; για περισσότερες πληροφορίες.</para>
-
- <note>
- <para>Η διαχείριση ενέργειας απαιτεί την υποστήριξη του &man.acpi.4;,
- είτε στον πυρήνα, είτε φορτωμένη ως άρθρωμα (module).</para>
- </note>
- </sect1>
-</chapter>
diff --git a/el_GR.ISO8859-7/books/handbook/bsdinstall/chapter.xml b/el_GR.ISO8859-7/books/handbook/bsdinstall/chapter.xml
deleted file mode 100644
index 651190c5fc..0000000000
--- a/el_GR.ISO8859-7/books/handbook/bsdinstall/chapter.xml
+++ /dev/null
@@ -1,2776 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
- Το Εγχειρίδιο του FreeBSD: Εγκατάσταση του FreeBSD 9.0
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml
- %SRCID% 43414
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="bsdinstall">
-
- <info>
- <title>Εγκατάσταση του &os;&nbsp;9.<replaceable>x</replaceable>
- και Μεταγενέστερων Εκδόσεων</title>
- <authorgroup>
- <author>
- <personname>
- <firstname>Jim</firstname>
- <surname>Mock</surname>
- </personname>
-
- <contrib>Αναδιοργανώθηκε και τμήματα του ξαναγράφηκαν από
- τον </contrib>
- </author>
- </authorgroup>
-
- <authorgroup>
- <author>
- <personname>
- <firstname>Randy</firstname>
- <surname>Pratt</surname>
- </personname>
-
- <contrib>Η βήμα προς βήμα εγκατάσταση sysinstall, οι εικόνες και
- και γενική αντιγραφή από </contrib>
- </author>
- </authorgroup>
-
- <authorgroup>
- <author>
- <personname>
- <firstname>Gavin</firstname>
- <surname>Atkinson</surname>
- </personname>
-
- <contrib>Ανανεώθηκε για το bsdinstall από τον </contrib>
- </author>
-
- <author>
- <personname>
- <firstname>Warren</firstname>
- <surname>Block</surname>
- </personname>
- </author>
- </authorgroup>
- </info>
-
- <sect1 xml:id="bsdinstall-synopsis">
- <title>Σύνοψη</title>
-
- <indexterm><primary>installation</primary></indexterm>
-
- <para>Το &os; έρχεται με ένα μη-γραφικό αλλά εύκολο στη χρήση πρόγραμμα
- εγκατάστασης. Από το &os;&nbsp;9.0-RELEASE και μετά, χρησιμοποιείται
- το πρόγραμμα <application>bsdinstall</application> ενώ οι προηγούμενες
- εκδόσεις χρησιμοποιούν το <application>sysinstall</application>.
- Το κεφάλαιο αυτό περιγράφει τη χρήση του
- <application>bsdinstall</application>. Η χρήση του
- <application>sysinstall</application> περιγράφεται στο
- <xref linkend="install"/>.</para>
-
- <para>Αφού διαβάσετε αυτό το κεφάλαιο, θα γνωρίζετε:</para>
-
- <itemizedlist>
- <listitem>
- <para>Πως να δημιουργήσετε μέσα εγκατάστασης για το &os;.</para>
- </listitem>
-
- <listitem>
- <!-- WB: verify this, including GPT partition notation (ada0p2) -->
- <para>Πως το &os; υποδιαιρεί τους σκληρούς δίσκους και πως
- αναφέρεται σε αυτούς.</para>
- </listitem>
-
- <listitem>
- <para>Πως να εκκινήσετε το <application>bsdinstall</application>.</para>
- </listitem>
-
- <listitem>
- <para>Τις ερωτήσεις που θα σας κάνει το
- <application>bsdinstall</application>, τι σημαίνουν και πως να τις
- απαντήσετε.</para>
- </listitem>
- </itemizedlist>
-
- <para>Πριν διαβάσετε αυτό το κεφάλαιο θα πρέπει:</para>
-
- <itemizedlist>
- <listitem>
- <para>Να διαβάσετε τη λίστα του υλικού που υποστηρίζεται από την
- έκδοση του &os; που εγκαθιστάτε και να επαληθεύσετε ότι το υλικό
- του υπολογιστή σας υποστηρίζεται.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Σε γενικές γραμμές, αυτές οι οδηγίες εγκατάστασης αναφέρονται
- στην αρχιτεκτονική &i386; (<quote>PC συμβατή</quote>). Όπου
- χρειάζεται, γίνεται αναφορά και σε άλλες αρχιτεκτονικές. Πιθανόν να
- υπάρχουν μικρές διαφορές στο πρόγραμμα εγκατάστασης σε σχέση με
- το παρόν κείμενο και για το λόγο αυτό σας συνιστούμε να το
- χρησιμοποιήσετε ως γενικό οδηγό παρά σαν κυριολεκτικά ακριβείς
- οδηγίες.</para>
- </note>
- </sect1>
-
- <sect1 xml:id="bsdinstall-hardware">
- <title>Απαιτήσεις Υλικού</title>
-
- <sect2 xml:id="bsdinstall-hardware-minimal">
- <title>Ελάχιστες Απαιτήσεις Εγκατάστασης</title>
-
- <para>Οι ελάχιστες απαιτήσεις για την εγκατάσταση του &os; ποικίλουν
- ανάλογα με την έκδοση του λειτουργικού και την αρχιτεκτονική του
- υλικού που χρησιμοποιείται.</para>
-
- <para>Στις επόμενες ενότητες θα σας παρουσιάσουμε μια σύνοψη αυτών
- των πληροφοριών. Ανάλογα με τη μέθοδο που θα χρησιμοποιήσετε για
- να εγκαταστήσετε το &os;, μπορεί να χρειαστείτε ένα υποστηριζόμενο
- οδηγό CDROM και &mdash; σε κάποιες περιπτώσεις &mdash; μια κάρτα
- δικτύου. Τα θέματα αυτά καλύπτονται στο <xref
- linkend="bsdinstall-installation-media"/>.</para>
-
- <sect3>
- <title>&os;/&arch.i386;</title>
-
- <para>Το &os;/&arch.i386; απαιτεί 486 ή καλύτερο επεξεργαστή και
- τουλάχιστον 64&nbsp;MB RAM. Για την ελάχιστη δυνατή εγκατάσταση
- απαιτείται 1.1&nbsp;GB ελεύθερου χώρου στο σκληρό δίσκο.</para>
-
- <note>
- <para>Σε περιπτώσεις παλιών μηχανημάτων, τις περισσότερες φορές,
- η απόδοση του συστήματος βελτιώνεται περισσότερο με αύξηση της
- μνήμης RAM και του ελεύθερου χώρου στο δίσκο, παρά με ένα
- ταχύτερο επεξεργαστή.</para>
- </note>
- </sect3>
-
- <sect3>
- <title>&os;/&arch.amd64;</title>
-
- <para>Υπάρχουν δύο κλάσεις επεξεργαστών ικανές να εκτελέσουν το
- &os;/&arch.amd64;. Η πρώτη είναι οι επεξεργαστές AMD64 που
- περιλαμβάνουν τους &amd.athlon;64, &amd.athlon;64-FX,
- &amd.opteron; ή καλύτερους.</para>
-
- <para>Η δεύτερη κλάση επεξεργαστών που μπορούν να εκτελέσουν το
- &os;/&arch.amd64; περιλαμβάνει όσους χρησιμοποιούν την
- αρχιτεκτονική &intel;&nbsp;EM64T. Παραδείγματα των επεξεργαστών
- αυτών περιλαμβάνουν τις οικογένειες
- &intel;&nbsp;&core;&nbsp;2 Duo, Quad, Extreme processor,
- τη σειρά επεξεργαστών &intel;&nbsp;&xeon; 3000, 5000 και 7000
- καθώς και τους επεξεργαστές &intel;&nbsp;&core;
- i3, i5 και i7.</para>
-
- <para>Αν το μηχάνημα σας είναι βασισμένο σε nVidia nForce3 Pro-150,
- θα <emphasis>πρέπει</emphasis> να χρησιμοποιήσετε την κατάλληλη
- επιλογή στο BIOS για να απενεργοποιήσετε το IO APIC. Αν η επιλογή
- αυτή δεν υπάρχει, θα πρέπει να απενεργοποιήσετε αντί αυτού το ACPI.
- Υπάρχουν προβλήματα στο Pro-150 για τα οποία μέχρι στιγμής δεν
- έχει βρεθεί λύση που να τα παρακάμπτει.</para>
- </sect3>
-
- <sect3>
- <title>&os;/&arch.powerpc; &apple; &macintosh;</title>
-
- <para>Υποστηρίζονται όλοι οι νέοι υπολογιστές &apple; &macintosh;
- που διαθέτουν ενσωματωμένες USB. Υποστηρίζεται επίσης η
- λειτουργία SMP σε μηχανήματα με πολλαπλούς επεξεργαστές.</para>
-
- <para>Ένας 32-bit πυρήνας μπορεί να χρησιμοποιήσει μόνο τα πρώτα
- 2&nbsp;GB RAM. Το &firewire; δεν υποστηρίζεται στα Μπλε και Λευκά
- PowerMac G3.</para>
- </sect3>
-
- <sect3>
- <title>&os;/&arch.sparc64;</title>
-
- <para>Μπορείτε να δείτε τα συστήματα που υποστηρίζονται από το
- &os;/&arch.sparc64; στο <link xlink:href="http://www.freebsd.org/platforms/sparc.html">FreeBSD/sparc64</link> Project.</para>
-
- <para>Θα χρειαστείτε ένα δίσκο για αποκλειστική χρήση από το
- &os;/&arch.sparc64;. Τη δεδομένη στιγμή, δεν είναι δυνατόν το
- &os;/&arch.sparc64; να μοιράζεται τον ίδιο δίσκο με ένα άλλο
- λειτουργικό σύστημα.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="bsdinstall-hardware-supported">
- <title>Υποστηριζόμενο Υλικό</title>
-
- <para>Στις Σημειώσεις Υλικού (Hardware Notes) μπορείτε να βρείτε
- πληροφορίες για τις αρχιτεκτονικές και τις συσκευές που
- υποστηρίζονται από μια επίσημη έκδοση του &os;. Το αρχείο αυτό
- ονομάζεται συνήθως <filename>HARDWARE.TXT</filename>, και βρίσκεται
- στον κεντρικό κατάλογο του μέσου εγκατάστασης. Μπορείτε επίσης να
- βρείτε αντίγραφα αυτού του καταλόγου στη σελίδα <link
- xlink:href="http://www.FreeBSD.org/releases/index.html">Πληροφοριών
- Έκδοσης</link> στο δικτυακό τόπο του &os;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="bsdinstall-pre">
- <title>Εργασίες πριν την Εγκατάσταση</title>
-
- <sect2>
- <title>Κρατήστε Αντίγραφα Ασφαλείας των Δεδομένων σας</title>
-
- <para>Κρατήστε αντίγραφα ασφαλείας όλων των σημαντικών δεδομένων
- του υπολογιστή στον οποίο θα κάνετε εγκατάσταση του &os;.
- Ελέγξτε τη σωστή λειτουργία των αντιγράφων ασφαλείας πριν συνεχίσετε.
- Το πρόγραμμα εγκατάστασης του &os; θα ζητήσει επιβεβαίωση πριν
- κάνει οποιαδήποτε αλλαγή στο δίσκο σας, αλλά από τη στιγμή που
- αυτή η διαδικασία ξεκινήσει, δεν υπάρχει δυνατότητα
- επιστροφής.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-where">
- <title>Αποφασίστε που θα Εγκαταστήσετε το &os;</title>
-
- <para>Αν το &os; πρόκειται να είναι το μοναδικό λειτουργικό σύστημα
- του υπολογιστή και σκοπεύετε να διαθέσετε σε αυτό ολόκληρο το
- χώρο του σκληρού σας δίσκου, μπορείτε να παραλείψετε το υπόλοιπο αυτής
- της ενότητας. Αν ωστόσο θέλετε να συνυπάρχει το &os; με
- άλλα λειτουργικά συστήματα, είναι χρήσιμο να κατανοείτε γενικά τον
- τρόπο διάταξης των δεδομένων στο δίσκο.</para>
-
- <sect3 xml:id="bsdinstall-where-i386">
- <title>Κατατμήσεις Δίσκων για τις Αρχιτεκτονικές &os;/&arch.i386;
- και &os;/&arch.amd64;</title>
-
- <para>Οι σκληροί δίσκοι μπορούν να χωριστούν σε διακριτά τμήματα.
- Τα τμήματα αυτά ονομάζονται
- <emphasis>κατατμήσεις (partitions)</emphasis>.</para>
-
- <para>Υπάρχουν δύο τρόποι για να χωριστεί ένας δίσκος σε κατατμήσεις.
- Ο παραδοσιακός τρόπος χρησιμοποιεί το
- <emphasis>Master Boot Record (Βασική Εγγραφή Εκκίνησης)</emphasis>
- ή <acronym>MBR</acronym>,
- ένα πίνακα κατατμήσεων ικανό να αποθηκεύσει ως τέσσερις
- <emphasis>πρωτεύουσες κατατμήσεις (primary partitions)</emphasis>.
- (Για ιστορικούς λόγους, το &os; ονομάζει τις πρωτεύουσες κατατμήσεις
- <emphasis>slices ή φέτες</emphasis>.) Το όριο των τεσσάρων
- κατατμήσεων είναι πολύ περιοριστικό για μεγάλους δίσκους, έτσι μια
- από αυτές τις κατατμήσεις μπορεί να μετατραπεί σε
- <emphasis>εκτεταμένη κατάτμηση (extended partition)</emphasis>.
- Μέσα στην εκτεταμένη κατάτμηση μπορούν να δημιουργηθούν πολλαπλές
- <emphasis>λογικές κατατμήσεις (logical partitions)</emphasis>.
- Αυτό ακούγεται κάπως παράξενο, και μάλλον είναι.</para>
-
- <para>Ο <emphasis>Πίνακας Κατατμήσεων GUID (GUID Partition
- Table)</emphasis> ή <acronym>GPT</acronym>, αποτελεί μια νέα
- και απλούστερη μέθοδος κατάτμησης ενός δίσκου. Το
- <acronym>GPT</acronym> είναι πολύ
- πιο βολικό από τον παραδοσιακό πίνακα κατατμήσεων MBR.
- Οι συνήθεις υλοποιήσεις του <acronym>GPT</acronym> επιτρέπουν ως
- και 128 κατατμήσεις ανά δίσκο, εξαλείφοντας έτσι την ανάγκη
- για άβολες λύσεις όπως οι λογικές κατατμήσεις.</para>
-
- <warning>
- <para>Κάποια παλιότερα λειτουργικά συστήματα όπως τα
- &windows;&nbsp;XP δεν είναι συμβατά με το σύστημα κατατμήσεων
- <acronym>GPT</acronym>. Αν το &os; πρόκειται να εγκατασταθεί
- σε ένα δίσκο από κοινού με ένα τέτοιο λειτουργικό, θα πρέπει να
- χρησιμοποιήσετε το σύστημα <acronym>MBR</acronym>.</para>
- </warning>
-
- <para>Ο τυπικός φορτωτής εκκίνησης (boot loader) του &os; χρειάζεται
- είτε μια πρωτεύουσα είτε μια <acronym>GPT</acronym> κατάτμηση.
- (Δείτε το <xref linkend="boot"/> για περισσότερες πληροφορίες
- σχετικά με τη διαδικασία εκκίνησης του &os;.)
- Αν όλες οι πρωτεύουσες ή <acronym>GPT</acronym> κατατμήσεις είναι
- ήδη σε χρήση, θα πρέπει να ελευθερώσετε μία για χρήση
- με το &os;.</para>
-
- <para>Η ελάχιστη εγκατάσταση του &os; καταλαμβάνει μόνο περίπου
- 1&nbsp;GB χώρο στο δίσκο. Πρόκειται όμως για την
- <emphasis>απόλυτα</emphasis> ελάχιστη εγκατάσταση η οποία δεν
- αφήνει σχεδόν καθόλου ελεύθερο χώρο. Μια πιο ρεαλιστική
- ελάχιστη εγκατάσταση καταλαμβάνει περίπου 3&nbsp;GB χωρίς
- γραφικό περιβάλλον και περίπου 5&nbsp;GB με χρήση κάποιου
- γραφικού περιβάλλοντος. Η εγκατάσταση λογισμικού τρίτων
- κατασκευαστών απαιτεί ακόμα περισσότερο χώρο στο δίσκο.</para>
-
- <para>Υπάρχει πληθώρα <link
- xlink:href="http://en.wikipedia.org/wiki/List_of_disk_partitioning_software">ελεύθερων και εμπορικών εργαλείων αναδιανομής χώρου κατατμήσεων</link>.
- Το <link
- xlink:href="http://gparted.sourceforge.net/livecd.php">GParted
- Live</link> είναι ένα δωρεάν Live CD το οποίο περιλαμβάνει
- τον επεξεργαστή κατατμήσεων <application>GParted</application>.
- Το <application>GParted</application> περιλαμβάνεται
- επίσης σε πολλές άλλες Live διανομές Linux.</para>
-
- <warning>
- <para>Οι εφαρμογές που διαχειρίζονται κατατμήσεις σκληρών δίσκων
- μπορούν να καταστρέψουν τα δεδομένα σας. Πάρτε πλήρη αντίγραφα
- ασφαλείας και επιβεβαιώστε την ορθή λειτουργία τους πριν
- ξεκινήσετε την τροποποίηση των κατατμήσεων του δίσκου σας.</para>
- </warning>
-
- <para>Η αλλαγή μεγέθους κατατμήσεων των &microsoft;&nbsp;Vista
- ενδέχεται να είναι δύσκολη. Είναι χρήσιμο να έχετε διαθέσιμο
- ένα DVD εγκατάστασης των Vista πριν ξεκινήσετε μια τέτοια
- διαδικασία.</para>
-
- <example>
- <title>Χρησιμοποιώντας μια Υπάρχουσα Κατάτμηση</title>
-
- <para>Ένας υπολογιστής &windows; διαθέτει ένα μοναδικό δίσκο
- 40&nbsp;GB ο οποίος έχει χωριστεί σε δύο κατατμήσεις των
- 20&nbsp;GB. Στα &windows; ονομάζονται
- <filename>C:</filename> και <filename>D:</filename>.
- Η κατάτμηση <filename>C:</filename> περιέχει 10&nbsp;GB
- δεδομένων, ενώ η κατάτμηση <filename>D:</filename>
- 5&nbsp;GB.</para>
-
- <para>Η μετακίνηση των δεδομένων από τον <filename>D:</filename>
- στο <filename>C:</filename> ελευθερώνει τη δεύτερη κατάτμηση
- ώστε να μπορεί να χρησιμοποιηθεί από το &os;.</para>
- </example>
-
- <example>
- <title>Συρρικνώνοντας μια Υπάρχουσα Κατάτμηση</title>
-
- <para>Ένας υπολογιστής &windows; έχει ένα μοναδικό σκληρό δίσκο
- 40&nbsp;GB και μια μεγάλη κατάτμηση που τον καταλαμβάνει
- εξ' ολοκλήρου. Τα &windows; δείχνουν αυτή την κατάτμηση των
- 40&nbsp;GB ως ένα μοναδικό οδηγό <filename>C:</filename>.
- Τη δεδομένη στιγμή χρησιμοποιούνται 15&nbsp;GB χώρου. Σκοπός
- είναι να καταλήξουμε με μια κατάτμηση των 20&nbsp;GB για τα
- &windows; και άλλα 20&nbsp;GB για το &os;.</para>
-
- <para>Υπάρχουν δύο τρόποι για να γίνει αυτό:</para>
-
- <orderedlist>
- <listitem>
- <para>Κρατήστε αντίγραφο των δεδομένων που έχετε δημιουργήσει
- στα &windows;. Έπειτα επανεγκαταστήστε τα &windows;
- δημιουργώντας μια κατάτμηση μεγέθους 20&nbsp;GB κατά την
- διαδικασία εγκατάστασης.</para>
- </listitem>
-
- <listitem>
- <para>Χρησιμοποιήστε κάποιο εργαλείο αλλαγής μεγέθους
- κατατμήσεων όπως το <application>GParted</application>
- για να συρρικνώσετε την κατάτμηση των &windows; και να
- δημιουργήσετε μια νέα κατάτμηση για το &os; στον
- ελεύθερο χώρο.</para>
- </listitem>
- </orderedlist>
- </example>
-
- <para>Η εγκατάσταση διαφορετικών λειτουργικών συστημάτων σε άλλες
- κατατμήσεις, επιτρέπει την εκτέλεση ενός από αυτά σε
- μια δεδομένη χρονική στιγμή. Μια εναλλακτική μέθοδος που
- επιτρέπει την ταυτόχρονη εκτέλεση πολλών λειτουργικών περιγράφεται
- στο <xref linkend="virtualization"/>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="bsdinstall-collect-network-information">
- <title>Συλλέξτε Πληροφορίες για το Δίκτυο</title>
-
- <para>Κάποιες μέθοδοι εγκατάστασης του &os; χρειάζονται μια σύνδεση
- δικτύου για να κατεβάσουν αρχεία. Για να συνδεθείτε με ένα δίκτυο
- Ethernet (ή μέσω καλωδιακού ή DSL modem με διεπαφή Ethernet),
- το πρόγραμμα εγκατάστασης θα σας ζητήσει πληροφορίες σχετικά
- με το δίκτυο σας.</para>
-
- <para>Συχνά, γίνεται χρήση του
- <emphasis><acronym>DHCP</acronym></emphasis>
- ώστε οι ρυθμίσεις του δικτύου να γίνονται αυτόματα. Αν δεν
- διαθέτετε <acronym>DHCP</acronym>, θα πρέπει να βρείτε
- τις παρακάτω πληροφορίες από τον τοπικό σας διαχειριστή δικτύου
- ή τον παροχέα των υπηρεσιών σας:</para>
-
- <orderedlist>
- <title>Πληροφορίες Δικτύου</title>
-
- <listitem>
- <para>Διεύθυνση <acronym>IP</acronym></para>
- </listitem>
-
- <listitem>
- <para>Μάσκα Υποδικτύου</para>
- </listitem>
-
- <listitem>
- <para>Διεύθυνση <acronym>IP</acronym> προεπιλεγμένου
- δρομολογητή</para>
- </listitem>
-
- <listitem>
- <para>Όνομα Τομέα για το τοπικό δίκτυο</para>
- </listitem>
-
- <listitem>
- <para>Διευθύνσεις <acronym>IP</acronym> των διακομιστών
- <acronym>DNS</acronym></para>
- </listitem>
- </orderedlist>
- </sect2>
-
- <sect2>
- <title>Ελέγξτε για Παροράματα (Errata) στο &os;</title>
-
- <para>Αν και το &os;&nbsp;Project πασχίζει για να εξασφαλίσει ότι
- κάθε νέα έκδοση του &os; θα είναι όσο πιο σταθερή γίνεται, ορισμένες
- φορές στη διαδικασία αυτή εισέρχονται λάθη. Σε πολύ σπάνιες
- περιπτώσεις, τα λάθη αυτά επηρεάζουν τη διαδικασία εγκατάστασης.
- Καθώς τα προβλήματα αυτά γίνονται αντιληπτά και επιδιορθώνονται,
- σημειώνονται στα <link
- xlink:href="&url.base;/releases/9.0R/errata.html">Παροράματα του
- FreeBSD</link> στη δικτυακή τοποθεσία του &os;. Ελέγξτε τα
- παροράματα πριν ξεκινήσετε την εγκατάσταση, για να βεβαιωθείτε
- ότι δεν υπάρχουν προβλήματα που μπορούν να επηρεάσουν τη
- διαδικασία.</para>
-
- <para>Μπορείτε να βρείτε πληροφορίες και παροράματα για όλες τις
- εκδόσεις στη σελίδα <link
- xlink:href="&url.base;/releases/index.html">πληροφοριών
- έκδοσης</link> στην <link
- xlink:href="&url.base;/index.html">δικτυακή τοποθεσία
- του &os;</link>.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-installation-media">
- <title>Προετοιμάστε τα Μέσα Εγκατάστασης</title>
-
- <para>Η εγκατάσταση του &os; ξεκινάει με την εκκίνηση του υπολογιστή
- με τη χρήση ενός &os;&nbsp;CD, DVD ή μνήμης USB. Το πρόγραμμα
- εγκατάστασης δεν μπορεί να εκτελεστεί μέσα από κάποιο άλλο
- λειτουργικό σύστημα.</para>
-
- <para>Εκτός από τα τυποποιημένα μέσα εγκατάστασης που περιέχουν όλα
- τα απαραίτητα αρχεία εγκατάστασης του &os;, διατίθεται επίσης
- και η εκδοχή <emphasis>bootonly</emphasis>. Αυτό το μέσο
- εγκατάστασης δεν περιέχει τα απαραίτητα αρχεία, αλλά τα κατεβάζει
- από το δίκτυο κατά τη διάρκεια της εγκατάστασης. Κατά συνέπεια,
- το συγκεκριμένο CD είναι αρκετά μικρότερο σε μέγεθος ενώ και το
- απαιτούμενο εύρος ζώνης του δικτύου περιορίζεται καθώς
- κατεβαίνουν μόνο τα αρχεία που απαιτούνται.</para>
-
- <para>Μπορείτε να βρείτε έτοιμα μέσα εγκατάστασης για το &os; στην
- <link xlink:href="&url.base;/where.html#download">δικτυακή
- τοποθεσία του &os;.</link>. Κατεβάστε επίσης το αρχείο
- <filename>CHECKSUM.SHA256</filename> από τον ίδιο κατάλογο
- που περιέχει και το αρχείο εγκατάστασης και χρησιμοποιήστε
- το για να ελέγξετε την ακεραιότητα του αρχείου εγκατάστασης
- υπολογίζοντας το <emphasis>Άθροισμα Ελέγχου (checksum)</emphasis>.
- Το &os; διαθέτει το &man.sha256.1; για αυτό το σκοπό και θα
- βρείτε αντίστοιχα προγράμματα και σε άλλα λειτουργικά
- συστήματα. Επαληθεύστε το άθροισμα ελέγχου σύμφωνα με αυτό
- που αναγράφεται στο αρχείο <filename>CHECKSUM.SHA256</filename>.
- Τα αθροίσματα πρέπει να είναι ίδια. Αν δεν είναι, το αρχείο
- εγκατάστασης αλλοιώθηκε κατά το κατέβασμα και είναι
- άχρηστο.</para>
-
- <tip>
- <para>Αν διαθέτετε ήδη ένα CDROM, DVD ή USB οδηγό εγκατάστασης
- &os;, μπορείτε να παραλείψετε αυτή την ενότητα.</para>
- </tip>
-
- <para>Τα CD και DVD αρχεία ISO του &os; είναι εκκινήσιμα.
- Χρειάζεστε μόνο ένα από αυτά για την εγκατάσταση. Γράψτε το
- αρχείο ISO σε ένα CD ή DVD χρησιμοποιώντας τα αντίστοιχα
- προγράμματα εγγραφής που διαθέτει το τρέχον λειτουργικό σας
- σύστημα. Στο &os;, η εγγραφή μπορείτε να γίνει με το
- πρόγραμμα &man.cdrecord.1; από το port
- <filename>sysutils/cdrtools</filename> που μπορείτε να
- εγκαταστήσετε από τη Συλλογή των Ports.</para>
-
- <para>Για να δημιουργήσετε μια εκκινήσιμη μνήμη Flash (USB),
- ακολουθήστε τα παρακάτω βήματα:</para>
-
- <procedure xml:id="bsdinstall-installation-media-memory-stick">
- <step>
- <title>Ανακτήστε το Αρχείο ISO για τη Μνήμη Flash</title>
-
- <para>Για το &os;&nbsp;9.0-RELEASE και μεταγενέστερες εκδόσεις,
- μπορείτε να κατεβάσετε το αντίστοιχο αρχείο από τον κατάλογο
- <filename>ISO-IMAGES/</filename>
- στην τοποθεσία
- <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/&os;-version-RELEASE-arch-memstick.img</literal>.
- Αντικαταστήστε το <replaceable>arch</replaceable> και το
- <replaceable>version</replaceable> με την αρχιτεκτονική και την
- έκδοση που θέλετε να εγκαταστήσετε. Για παράδειγμα, το αρχείο
- για το &os;/&arch.i386;&nbsp;9.0-RELEASE βρίσκεται στη θέση
- <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img</uri>.</para>
-
- <tip>
- <para>Ο κατάλογος είναι διαφορετικός για το
- &os;&nbsp;8.<replaceable>X</replaceable> και προηγούμενες
- εκδόσεις. Για περισσότερες πληροφορίες σχετικά με το
- κατέβασμα και την εγκατάσταση του
- &os;&nbsp;8.<replaceable>X</replaceable> και προηγούμενων
- εκδόσεων, δείτε το <xref linkend="install"/>.</para>
- </tip>
-
- <para>Το αρχείο για τη μνήμη Flash έχει επέκταση
- <filename>.img</filename>. Ο κατάλογος
- <filename>ISO-IMAGES/</filename> περιέχει
- πλήθος από διαφορετικά αρχεία. Θα πρέπει να κατεβάσετε το
- κατάλληλο ανάλογα με την έκδοση του &os; και το υλικό του
- υπολογιστή που πρόκειται να χρησιμοποιηθεί.</para>
-
- <important>
- <para>Πριν προχωρήσετε, <emphasis>αντιγράψτε</emphasis> τυχόν
- δεδομένα που έχετε ήδη στη μνήμη USB, καθώς η παρακάτω
- διαδικασία θα τα <emphasis>διαγράψει</emphasis>.</para>
- </important>
- </step>
-
- <step>
- <title>Γράψτε το Αρχείο στη Μνήμη USB</title>
-
- <procedure>
- <title>Εγγραφή του Αρχείου με Χρήση του &os;</title>
-
- <warning>
- <para>Το παρακάτω παράδειγμα δείχνει τη συσκευή
- <filename>/dev/da0</filename> ως
- τον προορισμό εγγραφής του αρχείου. Θα πρέπει να είστε
- πολύ προσεκτικοί και να βεβαιωθείτε για το όνομα της
- συσκευής που χρησιμοποιείτε, διαφορετικά
- ενδέχεται να διαγράψετε δεδομένα που χρειάζεστε.</para>
- </warning>
-
- <step>
- <title>Εγγραφή του Αρχείου με την &man.dd.1;</title>
-
- <para>Το αρχείο <filename>.img</filename>
- <emphasis>δεν</emphasis> είναι ένα συνηθισμένο αρχείο.
- Είναι ένα αρχείο <emphasis>εικόνας (image)</emphasis>
- με όλο το περιεχόμενο που χρειάζεται η μνήμη USB.
- <emphasis>Δεν μπορείτε</emphasis> να το αντιγράψετε
- ως ένα κανονικό αρχείο, θα χρειαστεί να το γράψετε
- απευθείας στη συσκευή προορισμού χρησιμοποιώντας την
- εντολή &man.dd.1;:</para>
-
- <screen>&prompt.root; <userinput>dd if=&os;-9.0-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k</userinput></screen>
- </step>
- </procedure>
-
- <procedure>
- <title>Εγγραφή του Αρχείου Μέσω &windows;</title>
-
- <warning>
- <para>Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό όνομα
- οδηγού για την μνήμη USB, διαφορετικά μπορεί να
- προκληθεί απώλεια δεδομένων.</para>
- </warning>
-
- <step>
- <title>Ανάκτηση του Προγράμματος <application>Image Writer για
- &windows;</application></title>
-
- <para>Το <application>Image Writer για &windows;</application>
- είναι μια δωρεάν εφαρμογή που μπορεί να γράψει σωστά ένα
- αρχείο image σε μια μνήμη USB. Μπορείτε να το κατεβάσετε
- από την τοποθεσία <uri
- xlink:href="https://launchpad.net/win32-image-writer/">https://launchpad.net/win32-image-writer/</uri>
- και να το αποσυμπιέσετε σε ένα φάκελο.</para>
- </step>
-
- <step>
- <title>Εγγραφή του Αρχείου με το Image Writer</title>
-
- <para>Κάντε διπλό κλικ στο εικονίδιο
- <application>Win32DiskImager</application> για να
- ξεκινήσετε το πρόγραμμα. Βεβαιωθείτε ότι το γράμμα
- του οδηγού που φαίνεται στην επιλογή
- <computeroutput>Device</computeroutput> αντιστοιχεί στη
- μνήμη USB. Κάντε κλικ στο εικονίδιο με το φάκελο και
- επιλέξτε το αρχείο εικόνας που θα γραφεί στη μνήμη USB.
- Κάντε κλικ στο <guibutton>[&nbsp;Save&nbsp;]</guibutton> για
- να αποδεχθείτε το όνομα του αρχείου εικόνας. Βεβαιωθείτε
- ότι οι παραπάνω ενέργειες είναι σωστές και ότι δεν υπάρχουν
- ανοικτά παράθυρα στο σύστημα σας που να απεικονίζουν
- φακέλους της μνήμης USB. Τέλος, κάντε κλικ στο
- <guibutton>[&nbsp;Write&nbsp;]</guibutton> για να γράψετε
- το αρχείο εικόνας στη μνήμη USB.</para>
- </step>
- </procedure>
- </step>
- </procedure>
-
- <note>
- <para>Δεν υποστηρίζεται πλέον η εγκατάσταση από δισκέτες</para>
- </note>
-
- <para>Είστε πλέον έτοιμοι να ξεκινήσετε την εγκατάσταση του &os;.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="bsdinstall-start">
- <title>Ξεκινώντας την Εγκατάσταση</title>
-
- <important>
- <para>Από προεπιλογή, η εγκατάσταση δεν θα κάνει αλλαγές στους δίσκους
- σας μέχρι να δείτε το παρακάτω μήνυμα:</para>
-
- <literallayout class="monospaced">Your changes will now be written to disk. If you
-have chosen to overwrite existing data, it will
-be PERMANENTLY ERASED. Are you sure you want to
-commit your changes?</literallayout>
-
- <para>Μπορείτε να εγκαταλείψετε την εγκατάσταση οποιαδήποτε στιγμή
- πριν από την παραπάνω προειδοποίηση, χωρίς να έχουν γίνει αλλαγές
- στα περιεχόμενα του δίσκου σας. Αν ανησυχείτε ότι ενδεχομένως
- έχετε κάνει κάτι λάθος, μπορείτε απλά να σβήσετε τον υπολογιστή
- σας πριν από αυτό το σημείο και δεν θα γίνει καμιά ζημιά.</para>
- </important>
-
- <sect2 xml:id="bsdinstall-starting">
- <title>Εκκίνηση</title>
-
- <sect3 xml:id="bsdinstall-starting-i386">
- <title>Εκκίνηση στις Αρχιτεκτονικές &i386; και &arch.amd64;</title>
-
- <procedure>
- <step>
- <para>Αν προετοιμάσατε μια <quote>εκκινήσιμη</quote> μνήμη USB
- όπως περιγράφεται στο
- <xref linkend="bsdinstall-installation-media"/>, τοποθετήστε
- τη μνήμη στην υποδοχή του υπολογιστή σας πριν τον
- ενεργοποιήσετε.</para>
-
- <para>Αν πρόκειται να εκκινήσετε από το CDROM, θα χρειαστεί
- να ενεργοποιήσετε τον υπολογιστή σας και να εισάγετε το
- CDROM όσο πιο γρήγορα γίνεται.</para>
- </step>
-
- <step>
- <para>Ρυθμίστε το μηχάνημα σας να ξεκινάει είτε από το CDROM
- είτε από την USB, ανάλογα με το μέσο εγκατάστασης που
- πρόκειται να χρησιμοποιήσετε. Γενικά, αυτό επιτυγχάνεται
- αλλάζοντας τη σχετική ρύθμιση στο <acronym>BIOS</acronym>.
- Τα περισσότερα συστήματα επιτρέπουν επίσης την επιλογή μιας
- συσκευής εκκίνησης καθώς ξεκινούν, τυπικά με τα πλήκτρα
- <keycap>F10</keycap>, <keycap>F11</keycap>,
- <keycap>F12</keycap>, ή <keycap>Escape</keycap>.</para>
- </step>
-
- <step>
- <para>Αν ο υπολογιστής σας ξεκινήσει όπως συνήθως και φορτώσει
- το ήδη υπάρχον λειτουργικό σύστημα, μπορεί να συμβαίνει
- κάτι από τα παρακάτω:</para>
-
- <orderedlist>
- <listitem>
- <para>Δεν τοποθετήσατε το CD ή DVD αρκετά νωρίς κατά την
- εκκίνηση. Αφήστε το μέσο στον οδηγό και δοκιμάστε να
- επανεκκινήσετε τον υπολογιστή σας.</para>
- </listitem>
-
- <listitem>
- <para>Οι αλλαγές ρυθμίσεων που κάνατε στο
- <acronym>BIOS</acronym> δεν λειτούργησαν σωστά. Θα πρέπει
- να ξαναδοκιμάσετε μέχρι να πετύχετε τις σωστές
- ρυθμίσεις.</para>
- </listitem>
-
- <listitem>
- <para>Το <acronym>BIOS</acronym> της μητρικής σας δεν
- υποστηρίζει εκκίνηση από το μέσο που έχετε επιλέξει.
- Μπορείτε να χρησιμοποιήσετε τον <link
- xlink:href="http://www.plop.at/en/bootmanager.html">Plop
- Boot Manager</link> για να εκκινήσετε παλιά μηχανήματα
- από CD ή USB.</para>
- </listitem>
- </orderedlist>
- </step>
-
- <step>
- <para>Θα αρχίσει η εκκίνηση του &os;. Αν ξεκινάτε από
- CDROM, θα δείτε μια οθόνη σαν την παρακάτω (έχουμε παραλείψει
- τις πληροφορίες έκδοσης):</para>
-
- <screen>Booting from CD-ROM...
-645MB medium detected
-CD Loader 1.2
-
-Building the boot loader arguments
-Looking up /BOOT/LOADER... Found
-Relocating the loader and the BTX
-Starting the BTX loader
-
-BTX loader 1.00 BTX version is 1.02
-Consoles: internal video/keyboard
-BIOS CD is cd0
-BIOS drive C: is disk0
-BIOS drive D: is disk1
-BIOS 636kB/261056kB available memory
-
-FreeBSD/i386 bootstrap loader, Revision 1.1
-
-Loading /boot/defaults/loader.conf
-/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
-\</screen>
- </step>
-
- <step>
- <para>Εμφανίζεται η οθόνη του φορτωτή εκκίνησης του &os;:</para>
-
- <figure xml:id="bsdinstall-boot-loader-menu">
- <title>Μενού Φορτωτή Εκκίνησης του &os;</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-boot-loader-menu"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Περιμένετε δέκα δευτερόλεπτα, ή πιέστε
- <keycap>Enter</keycap>.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3>
- <title>Εκκίνηση στον &macintosh; &powerpc;</title>
-
- <para>Στα περισσότερα μηχανήματα, μπορείτε να κρατήσετε πιεσμένο το
- πλήκτρο <keycap>C</keycap> κατά την εκκίνηση και θα ξεκινήσετε
- από το CD. Σε διαφορετική περίπτωση, κρατήστε πιεσμένα τα πλήκτρα
- <keycombo action="simul">
- <keycap>Command</keycap>
- <keycap>Option</keycap>
- <keycap>O</keycap>
- <keycap>F</keycap>
- </keycombo>,
- ή
- <keycombo action="simul">
- <keycap>Windows</keycap>
- <keycap>Alt</keycap>
- <keycap>O</keycap>
- <keycap>F</keycap>
- </keycombo>
- αν χρησιμοποιείτε πληκτρολόγιο που δεν είναι &apple;. Στην
- προτροπή <prompt>0 &gt;</prompt> γράψτε:</para>
-
- <screen><userinput>boot cd:,\ppc\loader cd:0</userinput></screen>
-
- <para>Σε μηχανήματα Xserve χωρίς πληκτρολόγιο, δείτε την
- <link
- xlink:href="http://support.apple.com/kb/TA26930">σελίδα
- τεχνικής υποστήριξης της &apple;</link> για πληροφορίες
- εκκίνησης στο Open Firmware.</para>
- </sect3>
-
- <sect3>
- <title>Εκκίνηση στον &sparc64;</title>
-
- <para>Τα περισσότερα συστήματα &sparc64; είναι ρυθμισμένα να εκκινούν
- αυτόματα από το σκληρό δίσκο. Για να εγκαταστήσετε το &os;, θα
- πρέπει να εκκινήσετε από το δίκτυο ή από ένα CDROM. Θα χρειαστεί
- να εισέλθετε στις ρυθμίσεις της <acronym>PROM</acronym>
- (OpenFirmware).</para>
-
- <para>Για να γίνει αυτό, επανεκκινήστε το σύστημα και περιμένετε
- μέχρι να εμφανιστεί το μήνυμα εκκίνησης. Το ακριβές μήνυμα
- εξαρτάται από το μοντέλο, αλλά γενικά θα δείχνει όπως το
- παρακάτω:</para>
-
- <screen>Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
-Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
-OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
-Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen>
-
- <para>Αν μετά από αυτό το σημείο το σύστημα σας συνεχίζει με
- εκκίνηση από το σκληρό δίσκο, θα πρέπει να πιέσετε
- <keycombo action="simul"><keycap>L1</keycap><keycap>A</keycap></keycombo>
- ή
- <keycombo action="simul"><keycap>Stop</keycap><keycap>A</keycap></keycombo>
- στο πληκτρολόγιο, ή να στείλετε σήμα <command>BREAK</command>
- μέσω της σειριακής κονσόλας (χρησιμοποιώντας π.χ. το
- <command>~#</command> στο &man.tip.1; ή &man.cu.1;) για να βγείτε
- στην προτροπή της <acronym>PROM</acronym> η οποία
- μοιάζει με την παρακάτω:</para>
-
- <screen><prompt>ok </prompt><co xml:id="bsdinstall-prompt-single"/>
-<prompt>ok {0} </prompt><co xml:id="bsdinstall-prompt-smp"/></screen>
-
- <calloutlist>
- <callout arearefs="bsdinstall-prompt-single">
- <para>Αυτή η προτροπή φαίνεται σε συστήματα με μόνο μία
- CPU.</para>
- </callout>
-
- <callout arearefs="bsdinstall-prompt-smp">
- <para>Αυτή η προτροπή φαίνεται σε συστήματα SMP. Το ψηφίο
- δείχνει τον αριθμό της ενεργής CPU.</para>
- </callout>
- </calloutlist>
-
- <para>Στο σημείο αυτό, τοποθετήστε το CDROM στον οδηγό και
- στην προτροπή της <acronym>PROM</acronym> γράψτε
- <command>boot cdrom</command>.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="bsdinstall-view-probe">
- <title>Επισκόπηση των Αποτελεσμάτων Ανίχνευσης Συσκευών</title>
-
- <para>Οι τελευταίες εκατοντάδες γραμμές που πέρασαν από την οθόνη σας
- αποθηκεύονται και μπορείτε να τις ξαναδείτε.</para>
-
- <para>Για να δείτε τα περιεχόμενα της προσωρινής μνήμης (buffer) πιέστε
- <keycap>Scroll Lock</keycap>. Με τον τρόπο αυτό ενεργοποιείται η
- κύλιση της οθόνης. Μπορείτε έπειτα να χρησιμοποιήσετε τα πλήκτρα
- με τα βελάκια ή τα <keycap>PageUp</keycap> και
- <keycap>PageDown</keycap> για να δείτε τα αποτελέσματα. Πιέστε ξανά
- το <keycap>Scroll Lock</keycap> για να σταματήσετε την κύλιση.</para>
-
- <para>Κάντε το αυτό τώρα, για να ξαναδείτε το κείμενο που κύλησε εκτός
- οθόνης καθώς ο πυρήνας εκτελούσε την ανίχνευση συσκευών. Θα δείτε
- κείμενο αντίστοιχο με το <xref linkend="bsdinstall-dev-probe"/>,
- αν και θα υπάρχουν διαφορές ανάλογα με τις συσκευές που διαθέτει ο
- υπολογιστής σας.</para>
-
- <figure xml:id="bsdinstall-dev-probe">
- <title>Τυπικά Αποτελέσματα Ανίχνευσης Συσκευών</title>
-
- <screen>Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.
-FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011
- root@psi:/usr/obj/usr/src/sys/GENERIC amd64
-CPU: Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz (2527.05-MHz K8-class CPU)
- Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6
- 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=0x8e3fd&lt;SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1&gt;
- AMD Features=0x20100800&lt;SYSCALL,NX,LM&gt;
- AMD Features2=0x1&lt;LAHF&gt;
- TSC: P-state invariant, performance statistics
-real memory = 3221225472 (3072 MB)
-avail memory = 2926649344 (2791 MB)
-Event timer "LAPIC" quality 400
-ACPI APIC Table: &lt;TOSHIB A0064 &gt;
-FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
-FreeBSD/SMP: 1 package(s) x 2 core(s)
- cpu0 (BSP): APIC ID: 0
- cpu1 (AP): APIC ID: 1
-ioapic0: Changing APIC ID to 1
-ioapic0 &lt;Version 2.0&gt; irqs 0-23 on motherboard
-kbd1 at kbdmux0
-acpi0: &lt;TOSHIB A0064&gt; on motherboard
-acpi0: Power Button (fixed)
-acpi0: reservation of 0, a0000 (3) failed
-acpi0: reservation of 100000, b6690000 (3) failed
-Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
-acpi_timer0: &lt;24-bit timer at 3.579545MHz&gt; port 0xd808-0xd80b on acpi0
-cpu0: &lt;ACPI CPU&gt; on acpi0
-ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282)
-cpu1: &lt;ACPI CPU&gt; on acpi0
-pcib0: &lt;ACPI Host-PCI bridge&gt; port 0xcf8-0xcff on acpi0
-pci0: &lt;ACPI PCI bus&gt; on pcib0
-vgapci0: &lt;VGA-compatible display&gt; port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
-agp0: &lt;Intel GM45 SVGA controller&gt; on vgapci0
-agp0: aperture size is 256M, detected 131068k stolen memory
-vgapci1: &lt;VGA-compatible display&gt; mem 0xffc00000-0xffcfffff at device 2.1 on pci0
-pci0: &lt;simple comms&gt; at device 3.0 (no driver attached)
-em0: &lt;Intel(R) PRO/1000 Network Connection 7.2.3&gt; port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0
-em0: Using an MSI interrupt
-em0: Ethernet address: 00:1c:7e:6a:ca:b0
-uhci0: &lt;Intel 82801I (ICH9) USB controller&gt; port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0
-usbus0: &lt;Intel 82801I (ICH9) USB controller&gt; on uhci0
-uhci1: &lt;Intel 82801I (ICH9) USB controller&gt; port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0
-usbus1: &lt;Intel 82801I (ICH9) USB controller&gt; on uhci1
-uhci2: &lt;Intel 82801I (ICH9) USB controller&gt; port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0
-usbus2: &lt;Intel 82801I (ICH9) USB controller&gt; on uhci2
-ehci0: &lt;Intel 82801I (ICH9) USB 2.0 controller&gt; mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0
-usbus3: EHCI version 1.0
-usbus3: &lt;Intel 82801I (ICH9) USB 2.0 controller&gt; on ehci0
-hdac0: &lt;Intel 82801I High Definition Audio Controller&gt; mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0
-pcib1: &lt;ACPI PCI-PCI bridge&gt; irq 17 at device 28.0 on pci0
-pci1: &lt;ACPI PCI bus&gt; on pcib1
-iwn0: &lt;Intel(R) WiFi Link 5100&gt; mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1
-pcib2: &lt;ACPI PCI-PCI bridge&gt; irq 16 at device 28.1 on pci0
-pci2: &lt;ACPI PCI bus&gt; on pcib2
-pcib3: &lt;ACPI PCI-PCI bridge&gt; irq 18 at device 28.2 on pci0
-pci4: &lt;ACPI PCI bus&gt; on pcib3
-pcib4: &lt;ACPI PCI-PCI bridge&gt; at device 30.0 on pci0
-pci5: &lt;ACPI PCI bus&gt; on pcib4
-cbb0: &lt;RF5C476 PCI-CardBus Bridge&gt; at device 11.0 on pci5
-cardbus0: &lt;CardBus bus&gt; on cbb0
-pccard0: &lt;16-bit PCCard bus&gt; on cbb0
-isab0: &lt;PCI-ISA bridge&gt; at device 31.0 on pci0
-isa0: &lt;ISA bus&gt; on isab0
-ahci0: &lt;Intel ICH9M AHCI SATA controller&gt; port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0
-ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported
-ahcich0: &lt;AHCI channel&gt; at channel 0 on ahci0
-ahcich1: &lt;AHCI channel&gt; at channel 1 on ahci0
-ahcich2: &lt;AHCI channel&gt; at channel 4 on ahci0
-acpi_lid0: &lt;Control Method Lid Switch&gt; on acpi0
-battery0: &lt;ACPI Control Method Battery&gt; on acpi0
-acpi_button0: &lt;Power Button&gt; on acpi0
-acpi_acad0: &lt;AC Adapter&gt; on acpi0
-acpi_toshiba0: &lt;Toshiba HCI Extras&gt; on acpi0
-acpi_tz0: &lt;Thermal Zone&gt; on acpi0
-attimer0: &lt;AT timer&gt; port 0x40-0x43 irq 0 on acpi0
-Timecounter "i8254" frequency 1193182 Hz quality 0
-Event timer "i8254" frequency 1193182 Hz quality 100
-atkbdc0: &lt;Keyboard controller (i8042)&gt; port 0x60,0x64 irq 1 on acpi0
-atkbd0: &lt;AT Keyboard&gt; irq 1 on atkbdc0
-kbd0 at atkbd0
-atkbd0: [GIANT-LOCKED]
-psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
-psm0: [GIANT-LOCKED]
-psm0: model GlidePoint, device ID 0
-atrtc0: &lt;AT realtime clock&gt; port 0x70-0x71 irq 8 on acpi0
-Event timer "RTC" frequency 32768 Hz quality 0
-hpet0: &lt;High Precision Event Timer&gt; iomem 0xfed00000-0xfed003ff on acpi0
-Timecounter "HPET" frequency 14318180 Hz quality 950
-Event timer "HPET" frequency 14318180 Hz quality 450
-Event timer "HPET1" frequency 14318180 Hz quality 440
-Event timer "HPET2" frequency 14318180 Hz quality 440
-Event timer "HPET3" frequency 14318180 Hz quality 440
-uart0: &lt;16550 or compatible&gt; port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
-sc0: &lt;System console&gt; at flags 0x100 on isa0
-sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
-vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
-ppc0: cannot reserve I/O port range
-est0: &lt;Enhanced SpeedStep Frequency Control&gt; on cpu0
-p4tcc0: &lt;CPU Frequency Thermal Control&gt; on cpu0
-est1: &lt;Enhanced SpeedStep Frequency Control&gt; on cpu1
-p4tcc1: &lt;CPU Frequency Thermal Control&gt; on cpu1
-Timecounters tick every 1.000 msec
-hdac0: HDA Codec #0: Realtek ALC268
-hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown)
-pcm0: &lt;HDA Realtek ALC268 PCM #0 Analog&gt; at cad 0 nid 1 on hdac0
-pcm1: &lt;HDA Realtek ALC268 PCM #1 Analog&gt; at cad 0 nid 1 on hdac0
-usbus0: 12Mbps Full Speed USB v1.0
-usbus1: 12Mbps Full Speed USB v1.0
-usbus2: 12Mbps Full Speed USB v1.0
-usbus3: 480Mbps High Speed USB v2.0
-ugen0.1: &lt;Intel&gt; at usbus0
-uhub0: &lt;Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1&gt; on usbus0
-ugen1.1: &lt;Intel&gt; at usbus1
-uhub1: &lt;Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1&gt; on usbus1
-ugen2.1: &lt;Intel&gt; at usbus2
-uhub2: &lt;Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1&gt; on usbus2
-ugen3.1: &lt;Intel&gt; at usbus3
-uhub3: &lt;Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1&gt; on usbus3
-uhub0: 2 ports with 2 removable, self powered
-uhub1: 2 ports with 2 removable, self powered
-uhub2: 2 ports with 2 removable, self powered
-uhub3: 6 ports with 6 removable, self powered
-ugen2.2: &lt;vendor 0x0b97&gt; at usbus2
-uhub8: &lt;vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2&gt; on usbus2
-ugen1.2: &lt;Microsoft&gt; at usbus1
-ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
-ada0: &lt;Hitachi HTS543225L9SA00 FBEOC43C&gt; ATA-8 SATA 1.x device
-ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
-ada0: Command Queueing enabled
-ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
-ada0: Previously was known as ad4
-ums0: &lt;Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2&gt; on usbus1
-SMP: AP CPU #1 Launched!
-cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
-cd0: &lt;TEAC DV-W28S-RT 7.0C&gt; Removable CD-ROM SCSI-0 device
-cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0
-UDMA2, ATAPI 12bytes, PIO 8192bytes)
-cd0: cd present [1 x 2048 byte records]
-ugen0.2: &lt;Microsoft&gt; at usbus0
-ukbd0: &lt;Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2&gt; on usbus0
-kbd2 at ukbd0
-uhid0: &lt;Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2&gt; on usbus0
-Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...</screen>
- </figure>
-
- <para>Ελέγξτε προσεκτικά τα αποτελέσματα της ανίχνευσης συσκευών
- για να βεβαιωθείτε ότι το &os; βρήκε όλες τις συσκευές που
- αναμένατε. Αν κάποια συσκευή δεν βρέθηκε, δεν θα φαίνεται στην
- παραπάνω λίστα. Τα <link
- linkend="kernelconfig-modules">Αρθρώματα Πυρήνα</link>
- σας επιτρέπουν να προσθέσετε υποστήριξη για συσκευές που δεν
- υπάρχουν στον πυρήνα <filename>GENERIC</filename>.</para>
-
- <para>Μετά τη διαδικασία ανίχνευσης συσκευών θα δείτε το
- <xref linkend="bsdinstall-choose-mode"/>. Το μέσο εγκατάστασης
- μπορεί να χρησιμοποιηθεί με τρεις τρόπους: για να εγκαταστήσετε
- το &os;, ως <quote>live CD</quote> ή απλά για να αποκτήσετε
- πρόσβαση σε ένα κέλυφος του &os;. Χρησιμοποιήστε τα βελάκια για
- να κάνετε μια επιλογή και το <keycap>Enter</keycap> για να την
- επιβεβαιώσετε.</para>
-
- <figure xml:id="bsdinstall-choose-mode">
- <title>Επιλογή Τρόπου Λειτουργίας Μέσου Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-choose-mode"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε <guibutton>[&nbsp;Install&nbsp;]</guibutton> για να
- ξεκινήσετε το πρόγραμμα εγκατάστασης.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="using-bsdinstall">
- <title>Εισαγωγή στο <application>bsdinstall</application></title>
-
- <para>Το <application>bsdinstall</application> είναι μια εφαρμογή
- εγκατάστασης για το &os; που βασίζεται σε περιβάλλον κειμένου.
- Γράφτηκε από τον &a.nwhitehorn.email; και χρησιμοποιήθηκε πρώτη φορά
- το 2011 στο &os;&nbsp;9.0.</para>
-
- <note>
- <para>Η εφαρμογή <application>pc-sysinstall</application>
- του &a.kmoore.email; συμπεριλαμβάνεται με το <link
- xlink:href="http://pcbsd.org">PC-BSD</link> και μπορεί επίσης να
- χρησιμοποιηθεί για την <link
- xlink:href="http://wiki.pcbsd.org/index.php/Use_PC-BSD_Installer_to_Install_FreeBSD">εγκατάσταση του &os;</link>. Αν και μερικές φορές συγχέεται
- με το <application>bsdinstall</application> οι δύο αυτές εφαρμογές
- δεν σχετίζονται.</para>
- </note>
-
- <para>Το σύστημα μενού του <application>bsdinstall</application>
- ελέγχεται μέσω των πλήκτρων με τα βελάκια και τα πλήκτρα
- <keycap>Enter</keycap>, <keycap>Tab</keycap>,
- <keycap>Space</keycap> και μερικά ακόμα.</para>
-
- <sect2 xml:id="bsdinstall-keymap">
- <title>Επιλογές στο Μενού Keymap</title>
-
- <para>Ανάλογα με το είδος της κονσόλας που χρησιμοποιείτε, το
- <application>bsdinstall</application> ίσως σας ρωτήσει
- αν επιθυμείτε να επιλέξετε μια διάταξη πληκτρολογίου διαφορετική από
- την προεπιλεγμένη.</para>
-
- <figure xml:id="bsdinstall-keymap-select-default">
- <title>Επιλογή Διάταξης Πληκτρολογίου</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-keymap-select-default"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Αν επιλέξετε <guibutton>[&nbsp;YES&nbsp;]</guibutton> θα
- εμφανιστεί η οθόνη επιλογής που φαίνεται παρακάτω. Σε διαφορετική
- περίπτωση, η οθόνη αυτή δεν θα εμφανιστεί και θα χρησιμοποιηθεί
- η προεπιλεγμένη διάταξη πληκτρολογίου.</para>
-
- <figure xml:id="bsdinstall-config-keymap">
- <title>Μενού Επιλογής Διάταξης Πληκτρολογίου</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-config-keymap"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε την διάταξη πληκτρολογίου που είναι πιο κοντά στο
- πληκτρολόγιο που διαθέτετε, χρησιμοποιώντας τα πάνω και κάτω βελάκια
- και επιβεβαιώνοντας με το <keycap>Enter</keycap>.</para>
-
- <note>
- <para>Αν πιέσετε <keycap>Esc</keycap> θα χρησιμοποιηθεί η
- προεπιλεγμένη διάταξη. Αν η διάταξη του τρέχοντος πληκτρολογίου
- δεν είναι προφανής, μια ασφαλής επιλογή είναι το
- <guimenuitem>United States of America ISO-8859-1</guimenuitem>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="bsdinstall-hostname">
- <title>Καθορισμός Ονόματος Υπολογιστή (hostname)</title>
-
- <para>Στο επόμενο βήμα, το <application>bsdinstall</application>
- θα σας ρωτήσει για το όνομα υπολογιστή (hostname) το οποίο θα δοθεί
- στο νέο σύστημα.</para>
-
- <figure xml:id="bsdinstall-config-hostname">
- <title>Καθορισμός Ονόματος Υπολογιστή</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-config-hostname"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Το όνομα που θα δώσετε πρέπει να περιλαμβάνει και τον τομέα
- (fully-qualified) όπως για παράδειγμα <systemitem
- class="fqdomainname">machine3.example.com</systemitem></para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-components">
- <title>Επιλογή Στοιχείων Εγκατάστασης</title>
-
- <para>Στο επόμενο βήμα, το <application>bsdinstall</application>
- θα σας καλέσει να επιλέξετε ποια προαιρετικά στοιχεία του
- λειτουργικού επιθυμείτε να εγκαταστήσετε.</para>
-
- <figure xml:id="bsdinstall-config-components">
- <title>Επιλογή Στοιχείων Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-config-components"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Η επιλογή των στοιχείων εγκατάστασης εξαρτάται κυρίως από την
- χρήση που θα έχει το σύστημα και το διαθέσιμο ελεύθερο χώρο στο
- δίσκο. Ο πυρήνας και τα βασικά προγράμματα του &os; (γνωστά και ως
- <quote>base system</quote> ή βασικό σύστημα) εγκαθίστανται
- υποχρεωτικά.</para>
-
- <para>Ανάλογα με το είδος της εγκατάστασης, κάποια από τα παρακάτω
- στοιχεία μπορεί να μην εμφανιστούν.</para>
-
- <itemizedlist>
- <title>Προαιρετικά Στοιχεία</title>
-
- <listitem>
- <para><literal>doc</literal> - Επιπρόσθετη τεκμηρίωση, κυρίως
- ιστορικής σημασίας. Η τεκμηρίωση που παρέχεται από την
- Ομάδα Τεκμηρίωσης του &os; εγκαθίσταται χωριστά σε επόμενο
- στάδιο.</para>
- </listitem>
-
- <listitem>
- <para><literal>games</literal> - Κάποια παραδοσιακά BSD παιχνίδια
- που περιλαμβάνουν τα <application>fortune</application>,
- <application>rot13</application> και άλλα.</para>
- </listitem>
-
- <listitem>
- <para><literal>lib32</literal> - Βιβλιοθήκες συμβατότητας για
- εκτέλεση εφαρμογών 32-bit σε 64-bit εκδόσεις του &os;.</para>
- </listitem>
-
- <listitem>
- <para><literal>ports</literal> - Η Συλλογή των Ports
- του &os;.</para>
-
- <para>Η Συλλογή των Ports αποτελεί ένα εύκολο και βολικό τρόπο
- εγκατάστασης λογισμικού. Η Συλλογή των Ports δεν περιέχει
- τον πηγαίο κώδικα που απαιτείται για τη μεταγλώττιση του
- λογισμικού. Πρόκειται στην πραγματικότητα για μια συλλογή
- αρχείων που αυτοματοποιεί τη μεταφόρτωση, μεταγλώττιση και
- εγκατάσταση λογισμικού τρίτων κατασκευαστών. Το
- <xref linkend="ports"/> αναλύει τον τρόπο χρήσης της Συλλογής
- των Ports.</para>
-
- <warning>
- <para>Το πρόγραμμα εγκατάστασης δεν ελέγχει για να δει αν
- διαθέτετε αρκετό ελεύθερο χώρο στο δίσκο. Επιλέξτε αυτό το
- στοιχείο μόνο αν έχετε αρκετό χώρο. Από το &os;&nbsp;9.0 και
- μετά, η Συλλογή των Ports καταλαμβάνει περίπου &ports.size;
- χώρο στο δίσκο. Μπορείτε με βεβαιότητα να θεωρήσετε ότι ο
- χώρος αυτός θα είναι ακόμα μεγαλύτερος στις νεώτερες εκδόσεις
- του &os;.</para>
- </warning>
- </listitem>
-
- <listitem>
- <para><literal>src</literal> - Ο Πηγαίος Κώδικας του
- Συστήματος.</para>
-
- <para>Το &os; έρχεται με πλήρη πηγαίο κώδικα, τόσο για τον πυρήνα
- όσο και για τα βασικά προγράμματα. Αν και ο πηγαίος κώδικας δεν
- απαιτείται για την πλειονότητα των εφαρμογών, ίσως να τον
- χρειαστείτε για τη μεταγλώττιση συγκεκριμένων προγραμμάτων που
- παρέχονται ως πηγαίος κώδικας (π.χ. οδηγούς συσκευών ή αρθρώματα
- πυρήνα), ή για εργασίες ανάπτυξης του ίδιου του &os;.</para>
-
- <para>Το πλήρες δέντρο του πηγαίου κώδικα καταλαμβάνει 1&nbsp;GB
- χώρου στο δίσκο, ενώ μια πλήρης μεταγλώττιση όλου του &os;
- απαιτεί επιπλέον 5&nbsp;GB χώρου.</para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
-
- <sect1 xml:id="bsdinstall-netinstall">
- <title>Εγκατάσταση από το Δίκτυο</title>
-
- <para>Το μέσο εγκατάστασης <emphasis>bootonly</emphasis>
- δεν διαθέτει αντίγραφα των αρχείων εγκατάστασης. Όταν
- χρησιμοποιείτε την μέθοδο <emphasis>bootonly</emphasis>, τα
- αρχεία μεταφορτώνονται από το δίκτυο κατά απαίτηση.</para>
-
- <figure xml:id="bsdinstall-netinstall-notify">
- <title>Εγκατάσταση από το Δίκτυο</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-netinstall-files"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Μετά την ρύθμιση των παραμέτρων δικτύου όπως φαίνεται στο
- <xref linkend="bsdinstall-config-network-dev"/>, γίνεται η επιλογή
- ενός mirror site. Τα mirror sites διαθέτουν αντίγραφα των αρχείων
- του &os;. Επιλέξτε ένα mirror site το οποίο βρίσκεται όσο το δυνατόν
- πιο κοντά στην περιοχή σας. Με τον τρόπο αυτό, η μεταφόρτωση των
- αρχείων θα είναι ταχύτερη και θα μειωθεί ο χρόνος εγκατάστασης.</para>
-
- <figure xml:id="bsdinstall-netinstall-mirror">
- <title>Επιλογή Mirror</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-netinstall-mirrorselect"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Η εγκατάσταση θα συνεχιστεί με τον ίδιο τρόπο όπως και αν τα
- αρχεία ήταν διαθέσιμα τοπικά.</para>
- </sect1>
-
- <sect1 xml:id="bsdinstall-partitioning">
- <title>Εκχώρηση Χώρου στο Δίσκο</title>
-
- <para>Υπάρχουν τρεις τρόποι να εκχωρήσετε χώρο για το &os;. Με τη
- μέθοδο <emphasis>Guided (καθοδηγούμενη)</emphasis>, οι κατατμήσεις
- δημιουργούνται αυτόματα, ενώ με τη μέθοδο
- <emphasis>Manual (χειροκίνητη)</emphasis> οι προχωρημένοι χρήστες
- μπορούν να δημιουργήσουν προσαρμοσμένες κατατμήσεις. Τέλος, υπάρχει
- η επιλογή να εκκινήσετε ένα κέλυφος και να δημιουργήσετε τις
- κατατμήσεις με απευθείας χρήση προγραμμάτων της γραμμής εντολών όπως
- &man.gpart.8;, &man.fdisk.8;, και &man.bsdlabel.8;.</para>
- <!-- WB: mention ZFS here? -->
-
- <figure xml:id="bsdinstall-part-guided-manual">
- <title>Επιλογή Guided ή Manual Partitioning</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-guided-manual"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <sect2 xml:id="bsdinstall-part-guided">
- <title>Καθοδηγούμενη (Guided) Κατάτμηση</title>
-
- <para>Αν έχετε συνδέσει πολλαπλούς δίσκους, επιλέξτε αυτόν στον
- οποίο θα εγκαταστήσετε το &os;.</para>
-
- <figure xml:id="bsdinstall-part-guided-disk">
- <title>Επιλογή από Πολλαπλούς Δίσκους</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-guided-disk"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Μπορείτε να εκχωρήσετε είτε ολόκληρο το δίσκο, είτε ένα μέρος του
- στο &os;. Αν επιλέξετε
- <guibutton>[&nbsp;Entire&nbsp;Disk&nbsp;]</guibutton>, θα
- δημιουργηθούν μια κατάλληλη διάταξη κατατμήσεων ώστε να
- χρησιμοποιηθεί ολόκληρος ο δίσκος. Αν επιλέξετε
- <guibutton>[&nbsp;Partition&nbsp;]</guibutton>, θα
- δημιουργηθεί μια διάταξη που θα καταλαμβάνει τον ελεύθερο χώρο
- του δίσκου.</para>
-
- <figure xml:id="bsdinstall-part-entire-part">
- <title>Επιλογή Ολόκληρου Δίσκου ή Κατάτμησης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-entire-part"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Ελέγξτε προσεκτικά τη διάταξη των κατατμήσεων που δημιουργήθηκε.
- Αν βρείτε κάποιο λάθος, επιλέξτε
- <guibutton>[&nbsp;Revert&nbsp;]</guibutton> για να επαναφέρετε
- τις προηγούμενες κατατμήσεις ή
- <guibutton>[&nbsp;Auto&nbsp;]</guibutton> για να δημιουργήσετε
- τις κατατμήσεις που προτείνονται αυτόματα από το &os;.
- Μπορείτε να δημιουργήσετε, να τροποποιήσετε και να διαγράψετε
- κατατμήσεις χειροκίνητα. Όταν οι κατατμήσεις είναι οι σωστές,
- επιλέξτε <guibutton>[&nbsp;Finish&nbsp;]</guibutton> για να
- συνεχίσετε με την εγκατάσταση.</para>
-
- <figure xml:id="bsdinstall-part-review">
- <title>Επισκόπηση Κατατμήσεων</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-review"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect2>
-
- <sect2 xml:id="bsdinstall-part-manual">
- <title>Χειροκίνητη Δημιουργία Κατατμήσεων </title>
-
- <para>Επιλέγοντας χειροκίνητη δημιουργία κατατμήσεων, θα μεταφερθείτε
- απευθείας στον επεξεργαστή κατατμήσεων.</para>
-
- <figure xml:id="bsdinstall-part-manual-create">
- <title>Χειροκίνητη Δημιουργία Κατατμήσεων</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-manual-create"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέγοντας ένα οδηγό (<filename>ada0</filename> στο
- παράδειγμα μας) και το πλήκτρο
- <guibutton>[&nbsp;Create&nbsp;]</guibutton> θα δείτε ένα μενού
- για την επιλογή του σχήματος κατατμήσεων (<firstterm>partitioning
- scheme</firstterm>).</para>
-
- <figure xml:id="bsdinstall-part-manual-partscheme">
- <title>Χειροκίνητη Δημιουργία Κατατμήσεων</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-manual-partscheme"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Το σύστημα κατατμήσεων <acronym>GPT</acronym> είναι συνήθως το
- καταλληλότερο για τα περισσότερους PC-συμβατούς υπολογιστές.
- Παλαιότερα λειτουργικά συστήματα δεν είναι συμβατά με τη μέθοδο
- <acronym>GPT</acronym> και χρειάζονται κατατμήσεις τύπου
- <acronym>MBR</acronym>. Τα υπόλοιπα είδη κατατμήσεων
- χρησιμοποιούνται σε παλιά ή μη-συνηθισμένα συστήματα
- υπολογιστών.</para>
-
- <table frame="all" rowsep="1" pgwide="1">
- <title>Κατηγορίες Κατατμήσεων</title>
-
- <tgroup cols="2" align="left">
- <thead>
- <row>
- <entry align="left">Συντομογραφία</entry>
- <entry align="left">Περιγραφή</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>APM</entry>
- <entry><link
- xlink:href="http://support.apple.com/kb/TA21692">Apple
- Partition Map, χρησιμοποιείται στο &powerpc;
- &macintosh;.</link></entry>
- </row>
-
- <row>
- <entry>BSD</entry>
- <entry>Κατατμήσεις BSD χωρίς MBR, ορισμένες φορές καλούνται και
- <quote>επικίνδυνα αφοσιωμένη κατάσταση</quote>. Δείτε το
- &man.bsdlabel.8;.</entry>
- </row>
-
- <row>
- <entry>GPT</entry>
- <entry><link
- xlink:href="http://en.wikipedia.org/wiki/GUID_Partition_Table">Πίνακας Κατατμήσεων GUID.</link></entry>
- </row>
-
- <row>
- <entry>MBR</entry>
- <entry><link
- xlink:href="http://en.wikipedia.org/wiki/Master_boot_record">Master Boot Record.</link></entry>
- </row>
-
- <row>
- <entry>PC98</entry>
- <entry><link
- xlink:href="http://en.wikipedia.org/wiki/Pc9801">Παραλλαγή του MBR που χρησιμοποιείται σε υπολογιστές NEC PC-98.</link></entry>
- </row>
-
- <row>
- <entry>VTOC8</entry>
- <entry>Volume Table Of Contents, χρησιμοποιείται στα Sun
- SPARC64 και UltraSPARC.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Μετά τη δημιουργία του σχήματος κατατμήσεων, αν επιλέξετε ξανά
- <guibutton>[&nbsp;Create&nbsp;]</guibutton> θα δημιουργήσετε νέες
- κατατμήσεις.</para>
-
- <figure xml:id="bsdinstall-part-manual-addpart">
- <title>Χειροκίνητη Δημιουργία Κατατμήσεων</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-part-manual-addpart"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Η τυποποιημένη εγκατάσταση &os; με χρήση <acronym>GPT</acronym>
- δημιουργεί τουλάχιστον τρεις κατατμήσεις:</para>
-
- <itemizedlist>
- <title>Τυποποιημένες &os; <acronym>GPT</acronym> Κατατμήσεις</title>
-
- <listitem>
- <para><literal>freebsd-boot</literal> - Ο κώδικας εκκίνησης του
- &os;. Η κατάτμηση αυτή πρέπει να είναι η πρώτη στο
- δίσκο.</para>
- </listitem>
-
- <listitem>
- <para><literal>freebsd-ufs</literal> - Σύστημα αρχείων &os;
- UFS.</para>
- </listitem>
-
- <listitem>
- <para><literal>freebsd-swap</literal> - Χώρος swap &os;.</para>
- </listitem>
- </itemizedlist>
-
- <para>Ένα άλλο αξιοσημείωτο είδος κατάτμησης, είναι το
- <literal>freebsd-zfs</literal>. Δείτε το <xref
- linkend="filesystems-zfs"/>. Μπορείτε να δείτε τα υπόλοιπα
- διαθέσιμα είδη κατατμήσεων <acronym>GPT</acronym> στο
- &man.gpart.8;.</para>
-
- <para>Μπορείτε να δημιουργήσετε πολλαπλά συστήματα αρχείων.
- Κάποιοι χρήστες προτιμούν τη δημιουργία των παραδοσιακών
- κατατμήσεων με χωριστά συστήματα αρχείων για τα
- <filename>/</filename>, <filename>/var</filename>, και
- <filename>/usr</filename>. Δείτε το <xref
- linkend="bsdinstall-part-manual-splitfs"/> για ένα
- παράδειγμα.</para>
-
- <para>Μπορείτε να εισάγετε το μέγεθος με τη βοήθεια κοινών
- συντομεύσεων: <emphasis>K</emphasis> για kilobytes,
- <emphasis>M</emphasis> για megabytes, ή <emphasis>G</emphasis> για
- gigabytes.</para>
-
- <tip>
- <para>Η καλύτερη απόδοση επιτυγχάνεται με ευθυγράμμιση των τομέων
- του δίσκου (sector alignment). Η σωστή ευθυγράμμιση επιτυγχάνεται
- με τη δημιουργία κατατμήσεων με μεγέθη πολλαπλάσια των 4K bytes
- σε οδηγούς που χρησιμοποιούν τομείς των 512 bytes ή 4K-byte.
- Σε γενικές γραμμές, η χρήση κατατμήσεων με μεγέθη που είναι άρτια
- πολλαπλάσια του 1Μ ή 1G είναι ο ευκολότερος τρόπος να επιβεβαιώσουμε
- ότι κάθε κατάτμηση ξεκινά σε ζυγό πολλαπλάσιο των 4Κ.
- Μια εξαίρεση: την παρούσα στιγμή η κατάτμηση
- <emphasis>freebsd-boot</emphasis> δεν μπορεί να είναι μεγαλύτερη
- των 512Κ λόγων περιορισμών του κώδικα εκκίνησης.</para>
- </tip>
-
- <para>Σε κάθε κατάτμηση που περιέχει σύστημα αρχείων, χρειάζεται
- ένα σημείο προσάρτησης. Αν χρησιμοποιηθεί μόνο μια κατάτμηση
- UFS, το σημείο προσάρτησης θα είναι η <filename>/</filename>.</para>
-
- <para>θα σας ζητηθεί επίσης μια ετικέτα
- (<emphasis>label</emphasis>). Η ετικέτα είναι ένα όνομα το
- οποίο δίνεται σε μια κατάτμηση. Το όνομα ενός δίσκου ή οι αριθμοί
- που περιγράφουν τις κατατμήσεις μπορεί να αλλάξουν αν
- ο δίσκος συνδεθεί σε άλλη θύρα ή ελεγκτή, αλλά
- η ετικέτα του παραμένει σταθερή. Με χρήση της ετικέτας σε αρχεία
- όπως το <filename>/etc/fstab</filename> το σύστημα γίνεται πιο
- ανεκτικό σε αλλαγές του υλικού. Οι ετικέτες GPT εμφανίζονται στον
- κατάλογο <filename>/dev/gpt/</filename> όταν
- γίνεται η προσάρτηση της συσκευής. Σε άλλα είδη κατατμήσεων υπάρχουν
- διαφορετικές δυνατότητες όσο αφορά τις ετικέτες, οι οποίες
- εμφανίζονται σε διαφορετικούς υποκαταλόγους στο
- <filename>/dev/</filename>.</para>
-
- <tip>
- <para>Χρησιμοποιήστε μοναδικές ετικέτες σε κάθε σύστημα αρχείων
- για να αποφύγετε συγκρούσεις που μπορεί να προκληθούν από όμοια
- ονόματα. Σε κάθε ετικέτα μπορείτε να συμπεριλάβετε μερικά
- γράμματα από το όνομα του υπολογιστή ή τη θέση του, ή ακόμα και
- τη χρήση του. Θα μπορούσατε για παράδειγμα να ονομάσετε τον
- κεντρικό κατάλογο <literal>labroot</literal> ή
- <literal>rootfs-lab</literal> σε ένα υπολογιστή που ανήκει σε ένα
- εργαστήριο.</para>
- </tip>
-
- <example xml:id="bsdinstall-part-manual-splitfs">
- <title>Δημιουργία Παραδοσιακών Κατατμήσεων στο Σύστημα Αρχείων</title>
-
- <para>Αν επιθυμείτε να χρησιμοποιήσετε το παραδοσιακό σύστημα
- κατατμήσεων του &os; όπου τα συστήματα αρχείων
- <filename>/</filename>, <filename>/var</filename>,
- <filename>/tmp</filename> και <filename>/usr</filename> βρίσκονται
- σε χωριστές κατατμήσεις, δημιουργήστε ένα πίνακα κατατμήσεων
- GPT και ορίστε τις κατατμήσεις με τον τρόπο που φαίνεται
- παρακάτω. Τα μεγέθη που φαίνονται είναι τυπικά για ένα σκληρό
- δίσκο χωρητικότητας 20G. Αν διαθέτετε περισσότερο χώρο, ίσως
- είναι χρήσιμο να μεγαλώσετε την κατάτμηση swap ή
- <filename>/var</filename>. Στο παράδειγμα μας, οι ετικέτες που
- χρησιμοποιούνται ξεκινούν με <literal>ex</literal> (από τη λέξη
- <quote>example</quote>) αλλά καλό θα είναι να χρησιμοποιήσετε
- δικές σας μονάδικες ετικέτες όπως αναφέραμε παραπάνω.</para>
-
- <para>Από προεπιλογή, το <filename>gptboot</filename> του &os;
- αναμένει την πρώτη UFS κατάτμηση ως <filename>/</filename>.</para>
-
- <informaltable frame="none">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Τύπος Κατάτμησης</entry>
- <entry>Μέγεθος</entry>
- <entry>Σημείο Προσάρτησης</entry>
- <entry>Ετικέτα</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>freebsd-boot</literal></entry>
- <entry><literal>512K</literal></entry>
- </row>
-
- <row>
- <entry><literal>freebsd-ufs</literal></entry>
- <entry><literal>2G</literal></entry>
- <entry><filename>/</filename></entry>
- <entry><literal>exrootfs</literal></entry>
- </row>
-
- <row>
- <entry><literal>freebsd-swap</literal></entry>
- <entry><literal>4G</literal></entry>
- <entry/>
- <entry><literal>exswap</literal></entry>
- </row>
-
- <row>
- <entry><literal>freebsd-ufs</literal></entry>
- <entry><literal>2G</literal></entry>
- <entry><filename>/var</filename></entry>
- <entry><literal>exvarfs</literal></entry>
- </row>
-
- <row>
- <entry><literal>freebsd-ufs</literal></entry>
- <entry><literal>1G</literal></entry>
- <entry><filename>/tmp</filename></entry>
- <entry><filename>extmpfs</filename></entry>
- </row>
-
- <row>
- <entry><literal>freebsd-ufs</literal></entry>
- <entry>αποδεχθείτε την προεπιλογή (υπόλοιπος χώρος του
- δίσκου)</entry>
- <entry><filename>/usr</filename></entry>
- <entry><literal>exusrfs</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </example>
-
- <para>Μετά τη δημιουργία των προσαρμοσμένων κατατμήσεων, επιλέξτε
- <guibutton>[&nbsp;Finish&nbsp;]</guibutton> για να συνεχίσετε με την
- εγκατάσταση.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="bsdinstall-final-warning">
- <title>Επιβεβαίωση της Εγκατάστασης</title>
-
- <para>Σε αυτό το σημείο έχετε την τελευταία ευκαιρία να εγκαταλείψετε
- την εγκατάσταση χωρίς να γίνουν αλλαγές στο σκληρό δίσκο σας.</para>
-
- <figure xml:id="bsdinstall-final-confirmation">
- <title>Τελική Επιβεβαίωση</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-final-confirmation"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε <guibutton>[&nbsp;Commit&nbsp;]</guibutton> και πιέστε
- <keycap>Enter</keycap> για να συνεχίσετε. Αν χρειάζεται να
- κάνετε αλλαγές, επιλέξτε <guibutton>[&nbsp;Back&nbsp;]</guibutton>
- για να επιστρέψετε στον επεξεργαστή κατατμήσεων. Με το πλήκτρο
- <guibutton>[&nbsp;Revert &amp; Exit&nbsp;]</guibutton> μπορείτε
- να εγκαταλείψετε το πρόγραμμα εγκατάστασης χωρίς να γίνουν αλλαγές στο
- σκληρό σας δίσκο.</para>
-
- <para>Ο χρόνος εγκατάστασης ποικίλει ανάλογα με τις διανομές και τα
- στοιχεία εγκατάστασης που έχετε επιλέξει, το μέσο εγκατάστασης και
- την ταχύτητα του υπολογιστή. Θα δείτε μια σειρά από μηνύματα σχετικά
- με την πρόοδο της διαδικασίας.</para>
-
- <para>Αρχικά, το πρόγραμμα εγκατάστασης θα γράψει τις κατατμήσεις στο
- δίσκο και θα εκτελέσει κατάλληλες εντολές <command>newfs</command>
- για να δημιουργήσει τα ανάλογα συστήματα αρχείων.</para>
-
- <para>Αν κάνετε εγκατάσταση μέσω δικτύου, το
- <application>bsdinstall</application> θα προχωρήσει μεταφορτώνοντας
- τα απαραίτητα αρχεία.</para>
-<!-- XXXGA: What does it do if fetch fails? -->
-
- <figure xml:id="bsdinstall-distfile-fetching">
- <title>Μεταφόρτωση Αρχείων Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-distfile-fetching"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Στη συνέχεια, θα γίνει έλεγχος ακεραιότητας των αρχείων
- εγκατάστασης για να επιβεβαιωθεί ότι δεν έχουν αλλοιωθεί κατά
- τη μεταφόρτωση ή κατά την ανάγνωση από το μέσο εγκατάστασης.</para>
-
- <figure xml:id="bsdinstall-distfile-verify">
- <title>Επαλήθευση Αρχείων Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-distfile-verifying"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Στο τελευταίο βήμα, τα επιβεβαιωμένα αρχεία εγκατάστασης θα
- εξαχθούν και θα γραφούν στο σκληρό δίσκο.</para>
-
- <figure xml:id="bsdinstall-distfile-extract">
- <title>Εξαγωγή Αρχείων Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-distfile-extracting"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Με το τέλος της εξαγωγής όλων των αρχείων εγκατάστασης, το
- <application>bsdinstall</application> θα εισέλθει στη διαδικασία
- ρυθμίσεων μετά την εγκατάσταση (δείτε <xref
- linkend="bsdinstall-post"/>).</para>
- </sect1>
-
- <sect1 xml:id="bsdinstall-post">
- <title>Μετά την Εγκατάσταση</title>
-
- <para>Μετά από μια επιτυχημένη εγκατάσταση του &os;, ακολουθεί μια
- σειρά ρυθμίσεων. Μπορείτε να επαναλάβετε οποιαδήποτε ρύθμιση
- αν εισέλθετε στην αντίστοιχη επιλογή στο τελικό μενού πριν
- επανεκκινήσετε στο νέο-εγκατεστημένο σας &os; σύστημα.</para>
-
- <sect2 xml:id="bsdinstall-post-root">
- <title>Ρύθμιση του Κωδικού του <systemitem class="username">root</systemitem></title>
-
- <para>Θα πρέπει να ορίσετε ένα κωδικό πρόσβασης για το χρήστη
- <systemitem class="username">root</systemitem>. Παρατηρήστε ότι
- δεν φαίνονται τα γράμματα που πληκτρολογείτε καθώς εισάγετε τον
- κωδικό. Μετά την εισαγωγή του κωδικού, θα πρέπει να τον εισάγετε
- ακόμα μια φορά. Με τον τρόπο αυτό εξασφαλίζεται ότι δεν έχει γίνει
- κάποιο λάθος κατά την πληκτρολόγηση.</para>
-
- <figure xml:id="bsdinstall-post-set-root-passwd">
- <title>Ρύθμιση του Κωδικού του <systemitem class="username">root</systemitem></title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-post-root-passwd"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Η εγκατάσταση συνεχίζεται μετά την επιτυχή εισαγωγή του
- κωδικού.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-config-network-dev">
- <title>Ρύθμιση Καρτών Δικτύου</title>
-
- <note>
- <para>Η ρύθμιση του δικτύου παραλείπεται αν έχει ήδη πραγματοποιηθεί
- στα πλαίσια μιας εγκατάστασης <emphasis>bootonly</emphasis>.</para>
- </note>
-
- <para>Θα δείτε μια λίστα με όλες τις διεπαφές δικτύου που
- ανιχνεύθηκαν στον υπολογιστή σας. Επιλέξτε αυτή που επιθυμείτε
- να ρυθμίσετε.</para>
-
- <figure xml:id="bsdinstall-configure-net-interface">
- <title>Επιλογή μιας Διεπαφής Δικτύου</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <sect3 xml:id="bsdinstall-configure-net-wireless">
- <title>Ρύθμιση Ασύρματης Κάρτας Δικτύου</title>
-
- <para>Αν επιλέξετε να ρυθμίσετε μια ασύρματη διεπαφή δικτύου, θα
- πρέπει να ρυθμίσετε τις παραμέτρους αναγνώρισης και ασφάλειας
- για να συνδεθείτε στο δίκτυο.</para>
-
- <para>Τα ασύρματα δίκτυα αναγνωρίζονται από το Αναγνωριστικό
- Υπηρεσίας ή Service Set Identifier (<acronym>SSID</acronym>).
- Το <acronym>SSID</acronym> είναι ένα σύντομο μοναδικό
- όνομα που αποδίδεται σε κάθε ασύρματο δίκτυο.</para>
-
- <para>Τα περισσότερα ασύρματα δίκτυα κρυπτογραφούν τα δεδομένα
- που μεταδίδονται για να προστατεύσουν τις πληροφορίες από
- μη εξουσιοδοτημένη χρήση. Συνίσταται να χρησιμοποιήσετε
- κρυπτογράφηση <acronym>WPA2</acronym>. Παλαιότερες
- μέθοδοι κρυπτογράφησης όπως το <acronym>WEP</acronym> προσφέρουν
- ελάχιστη ασφάλεια.</para>
-
- <para>Το πρώτο βήμα για να συνδεθείτε σε ένα ασύρματο δίκτυο είναι
- να σαρώσετε για Σημεία Ασύρματης Πρόσβασης (Access Points).</para>
-
- <figure xml:id="bsdinstall-wireless-scan">
- <title>Σάρωση για Access Points</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-wireless-scan"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Τα <acronym>SSIDs</acronym> που
- θα βρείτε κατά τη διάρκεια της σάρωσης συνοδεύονται από τα
- είδη κρυπτογράφησης που διατίθενται για κάθε δίκτυο. Αν δεν
- βλέπετε το <acronym>SSID</acronym>
- που επιθυμείτε στη λίστα, επιλέξτε
- <guibutton>[&nbsp;Rescan&nbsp;]</guibutton> για να εκτελέσετε
- τη σάρωση ξανά. Αν εξακολουθείτε να μη βλέπετε το επιθυμητό
- δίκτυο, ελέγξτε την κεραία για τυχόν προβλήματα ή μετακινήστε
- τον υπολογιστή πιο κοντά στο σημείο πρόσβασης. Να εκτελείτε νέα
- σάρωση μετά από κάθε αλλαγή.</para>
-
- <figure xml:id="bsdinstall-wireless-accesspoints">
- <title>Επιλογή Ασύρματου Δικτύου</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-wireless-accesspoints"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Μετά την επιλογή του ασύρματου δικτύου, θα πρέπει να εισάγετε
- τις πληροφορίες που σχετίζονται με την κρυπτογράφηση. Σε δίκτυα
- <acronym>WPA2</acronym>
- χρειάζεται να δώσετε μόνο ένα κωδικό πρόσβασης (γνωστό ως
- Pre-Shared Key ή <acronym>PSK</acronym>).
- Για λόγους ασφαλείας, οι χαρακτήρες που πληκτρολογείτε στο πεδίο
- εμφανίζονται ως αστερίσκοι.</para>
-
- <figure xml:id="bsdinstall-wireless-wpa2">
- <title>Ρύθμιση WPA2</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-wireless-wpa2setup"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Μετά την επιλογή του ασύρματου δικτύου και την εισαγωγή των
- πληροφοριών σύνδεσης, η εγκατάσταση συνεχίζεται με τη ρύθμιση
- των υπόλοιπων παραμέτρων του δικτύου.</para>
- </sect3>
-
- <sect3 xml:id="bsdinstall-ipv4">
- <title>Ρύθμιση Δικτύου IPv4</title>
-
- <para>Επιλέξτε αν θα χρησιμοποιηθεί δικτύωση IPv4. Πρόκειται
- για το πιο συνηθισμένο είδος σύνδεσης.</para>
-
- <figure xml:id="bsdinstall-configure-net-ipv4">
- <title>Επιλογή Δικτύωσης IPv4</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Υπάρχουν δύο μέθοδοι ρύθμισης του IPv4.
- Μέσω του <emphasis><acronym>DHCP</acronym>
- </emphasis> η ρύθμιση της διεπαφής γίνεται αυτόματα. Αυτή είναι
- και η συνιστώμενη μέθοδος. Η ρύθμιση <emphasis>Static</emphasis>
- απαιτεί χειροκίνητη εισαγωγή πληροφοριών δικτύου.</para>
-
- <note>
- <para>Μη βάλετε τυχαίες ρυθμίσεις δικτύου, καθώς δεν θα
- λειτουργήσουν. Θα πρέπει να λάβετε τις πληροφορίες που
- αναφέρονται στο <xref
- linkend="bsdinstall-collect-network-information"/> από τον
- διαχειριστή ή τον παροχέα του δικτύου σας.</para>
- </note>
-
- <sect4 xml:id="bsdinstall-net-ipv4-dhcp-config">
- <title>Ρύθμιση Δικτύου IPv4 μέσω DHCP</title>
-
- <para>Αν διαθέτετε εξυπηρετητή DHCP, επιλέξτε
- <guibutton>[&nbsp;Yes&nbsp;]</guibutton> για να ρυθμίσετε
- αυτόματα την διεπαφή δικτύου.</para>
-
- <figure xml:id="bsdinstall-net-ipv4-dhcp">
- <title>Επιλέξτε Ρύθμιση IPv4 μέσω DHCP</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect4>
-
- <sect4 xml:id="bsdinstall-net-ipv4-static-config">
- <title>Στατική Ρύθμιση Δικτύου IPv4</title>
-
- <para>Η στατική ρύθμιση της διεπαφής δικτύου, απαιτεί να εισάγετε
- κάποιες πληροφορίες σχετικά με το IPv4.</para>
-
- <figure xml:id="bsdinstall-net-ipv4-static">
- <title>Στατική Ρύθμιση IPv4</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4-static"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <itemizedlist>
- <listitem>
- <para><literal>IP Address</literal> - Η διεύθυνση IP που
- θα εισάγετε χειροκίνητα σε αυτό τον υπολογιστή.
- Η διεύθυνση αυτή πρέπει να είναι μοναδική και να μην
- χρησιμοποιείται από οποιοδήποτε άλλο μηχάνημα στο
- τοπικό σας δίκτυο.</para>
- </listitem>
-
- <listitem>
- <para><literal>Subnet Mask</literal> - Η μάσκα υποδικτύου
- που χρησιμοποιεί το τοπικό σας δίκτυο. Τυπικά αυτή είναι
- <literal>255.255.255.0</literal>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Default Router</literal> - Η διεύθυνση IP
- του προεπιλεγμένου δρομολογητή του δικτύου σας. Συνήθως
- είναι η διεύθυνση του δρομολογητή ή άλλου δικτυακού
- εξοπλισμού που συνδέει το τοπικό σας δίκτυο με το
- Internet. Θα τη δείτε επίσης να αναφέρετε ως
- <emphasis>default gateway (προεπιλεγμένη πύλη)</emphasis>.</para>
- </listitem>
- </itemizedlist>
- </sect4>
- </sect3>
-
- <sect3 xml:id="bsdinstall-ipv6">
- <title>Ρύθμιση Δικτύου IPv6</title>
-
- <para>Το IPv6 είναι μια νέα μέθοδος ρύθμισης δικτύου. Αν το δίκτυο
- σας διαθέτει IPv6 και επιθυμείτε να το ρυθμίσετε, πιέστε
- <guibutton>[&nbsp;Yes&nbsp;]</guibutton> για να το
- επιλέξετε.</para>
-
- <figure xml:id="bsdinstall-net-ipv6">
- <title>Επιλογή Δικτύωσης IPv6</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-ipv6"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Το IPv6 διαθέτει επίσης δύο μεθόδους ρύθμισης. Το
- <emphasis><acronym>SLAAC</acronym></emphasis>, ή
- <emphasis>StateLess Address AutoConfiguration</emphasis>,
- ρυθμίζει αυτόματα τις παραμέτρους του δικτύου σας. Η ρύθμιση
- <emphasis>Static</emphasis> απαιτεί να κάνετε τις αντίστοιχες
- ρυθμίσεις χειροκίνητα.</para>
-
- <sect4 xml:id="bsdinstall-net-ipv6-slaac-config">
- <title>IPv6 Stateless Address Autoconfiguration</title>
-
- <para>Το <acronym>SLAAC</acronym> επιτρέπει σε μια συσκευή ενός
- δικτύου IPv6 να ζητήσει πληροφορίες αυτόματης ρύθμισης από ένα
- τοπικό δρομολογητή. Δείτε το <link
- xlink:href="http://tools.ietf.org/html/rfc4862">RFC4862</link>
- για περισσότερες πληροφορίες.</para>
-
- <figure xml:id="bsdinstall-net-ipv6-slaac">
- <title>Επιλέξτε Ρύθμιση IPv6 SLAAC</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-slaac"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect4>
-
- <sect4 xml:id="bsdinstall-net-ipv6-static-config">
- <title>Στατική Ρύθμιση Δικτύου IPv6</title>
-
- <para>Η στατική ρύθμιση της διεπαφής δικτύου στο IPv6, απαιτεί
- την χειροκίνητη εισαγωγή κάποιων ρυθμίσεων.</para>
-
- <figure xml:id="bsdinstall-net-ipv6-static">
- <title>Στατική Ρύθμιση IPv6</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-interface-ipv6-static"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <itemizedlist>
- <listitem>
- <para><literal>IPv6 Address</literal> - Η διεύθυνση
- <acronym>IP</acronym> που θα εισάγετε χειροκίνητα σε αυτό
- τον υπολογιστή. Η διεύθυνση αυτή πρέπει να είναι μοναδική
- και να μην χρησιμοποιείται από κανένα άλλο μηχάνημα στο
- τοπικό σας δίκτυο.</para>
- </listitem>
-
- <listitem>
- <para><literal>Default Router</literal> - Η IPv6 διεύθυνση
- του προεπιλεγμένου δρομολογητή για το δίκτυο σας. Συνήθως
- είναι η διεύθυνση του δρομολογητή ή άλλου δικτυακού
- εξοπλισμού που συνδέει το τοπικό σας δίκτυο με το Internet.
- Θα τη δείτε επίσης να αναφέρεται ως
- <emphasis>default gateway (προεπιλεγμένη πύλη)</emphasis>.</para>
- </listitem>
- </itemizedlist>
- </sect4>
- </sect3>
-
- <sect3 xml:id="bsdinstall-net-dns">
- <title>Ρύθμιση του <acronym>DNS</acronym></title>
-
- <para>Το
- <emphasis>Domain Name System (Σύστημα Ονομάτων Τομέα)</emphasis> ή
- <emphasis><acronym>DNS</acronym></emphasis>
- μετατρέπει ονόματα υπολογιστών σε διευθύνσεις δικτύου και το
- αντίθετο. Αν χρησιμοποιήσατε <acronym>DHCP</acronym> ή
- <acronym>SLAAC</acronym> για να ρυθμίσετε αυτόματα τη διεπαφή
- δικτύου, οι αντίστοιχες ρυθμίσεις πιθανόν να έχουν γίνει ήδη.
- Στην αντίθετη περίπτωση, βάλτε το όνομα τομέα του τοπικού δικτύου
- στο πεδίο Search. Τα πεδία
- <acronym>DNS</acronym> #1 και <acronym>DNS</acronym> #2 είναι οι
- διευθύνσεις <acronym>IP</acronym> των τοπικών εξυπηρετητών
- <acronym>DNS</acronym>. Χρειάζεται να εισάγετε τουλάχιστον ένα
- εξυπηρετητή <acronym>DNS</acronym>.</para>
-
- <figure xml:id="bsdinstall-net-dns-config">
- <title>Ρύθμιση DNS</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-configure-network-ipv4-dns"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect3>
- </sect2>
-
- <sect2 xml:id="bsdinstall-timezone">
- <title>Ρύθμιση της Ζώνης Ώρας</title>
-
- <para>Η ρύθμιση της σωστής ζώνης ώρας στο μηχάνημα σας,
- εξασφαλίζει την αυτόματη αλλαγή της από χειμερινή σε εαρινή και
- το αντίστροφο. Επιτρέπει επίσης τη σωστή λειτουργία όλων των
- υπηρεσιών που σχετίζονται με την τήρηση χρόνου.</para>
-
- <para>Το παράδειγμα μας αναφέρεται σε ένα μηχάνημα που βρίσκεται στην
- Ανατολική ζώνη ώρας των Ηνωμένων Πολιτειών. Η δική σας επιλογή
- θα είναι διαφορετική ανάλογα με τη γεωγραφική σας περιοχή.</para>
-
- <figure xml:id="bsdinstall-local-utc">
- <title>Επιλογή Τοπικού ή UTC Ρολογιού</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-set-clock-local-utc"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε <guibutton>[&nbsp;Yes&nbsp;]</guibutton>
- ή <guibutton>[&nbsp;No&nbsp;]</guibutton> ανάλογα με το πως
- είναι ρυθμισμένο το ρολόι του μηχανήματος και πιέστε
- <keycap>Enter</keycap>. Αν δεν γνωρίζετε αν το σύστημα σας
- χρησιμοποιεί ώρα UTC ή τοπική, επιλέξτε
- <guibutton>[&nbsp;No&nbsp;]</guibutton> για να επιλέξετε την
- τοπική ώρα που είναι και η πιο συνηθισμένη.</para>
-
- <figure xml:id="bsdinstall-timezone-region">
- <title>Επιλέξτε μια Περιοχή</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-timezone-region"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε την σωστή περιοχή χρησιμοποιώντας τα βελάκια και
- πιέστε <keycap>Enter</keycap>.</para>
-
- <figure xml:id="bsdinstall-timezone-country">
- <title>Επιλογή Χώρας</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-timezone-country"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε τη σωστή χώρα χρησιμοποιώντας τα βελάκια και
- πιέστε <keycap>Enter</keycap>.</para>
-
- <figure xml:id="bsdinstall-timezone-zone">
- <title>Επιλογή Ζώνης Ώρας</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-timezone-zone"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιλέξτε τη σωστή ζώνη ώρας χρησιμοποιώντας τα βελάκια και
- πιέστε <keycap>Enter</keycap>.</para>
-
- <figure xml:id="bsdinstall-timezone-confirmation">
- <title>Επιβεβαίωση Ζώνης Ώρας</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-timezone-confirm"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Επιβεβαιώστε ότι η συντομογραφία για την επιλεγμένη ζώνη ώρας
- είναι η σωστή. Έπειτα πιέστε <keycap>Enter</keycap> για να
- συνεχίσετε με τις υπόλοιπες ρυθμίσεις.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-sysconf">
- <title>Επιλογή Υπηρεσιών που θα Ενεργοποιηθούν</title>
-
- <para>Μπορείτε να επιλέξετε ποιες από τις πρόσθετες υπηρεσίες
- θα ενεργοποιηθούν στην εκκίνηση. Όλες οι παρακάτω υπηρεσίες
- είναι προαιρετικές.</para>
-
- <figure xml:id="bsdinstall-config-serv">
- <title>Επιλογή Πρόσθετων Υπηρεσιών προς Ενεργοποίηση</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-config-services"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <itemizedlist>
- <title>Πρόσθετες Υπηρεσίες</title>
-
- <listitem>
- <para><literal>sshd</literal> - Secure Shell (Ασφαλές Κέλυφος)
- (<acronym>SSH</acronym>) Ο δαίμονας για
- ασφαλή απομακρυσμένη πρόσβαση.</para>
- </listitem>
-
- <listitem>
- <para><literal>moused</literal> - Παρέχει δυνατότητα χρήσης του
- ποντικιού από την κονσόλα του συστήματος.</para>
- </listitem>
-
- <listitem>
- <para><literal>ntpd</literal> - Network Time Protocol, πρωτόκολλο
- για ρύθμιση της ώρας μέσω δικτύου (<acronym>NTP</acronym>).
- Ο δαίμονας χρησιμοποιείται για την αυτόματη ρύθμιση του
- ρολογιού.</para>
- </listitem>
-
- <listitem>
- <para><literal>powerd</literal> - Βοηθητικό πρόγραμμα για έλεγχο
- ισχύος και διαχείριση ενέργειας.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="bsdinstall-crashdump">
- <title>Ενεργοποίηση Crash Dumps</title>
-
- <para>Το <application>bsdinstall</application> θα σας ρωτήσει αν
- θέλετε να ενεργοποιήσετε τα crash dumps στο σύστημα σας.
- Η ενεργοποίηση των crash dumps μπορεί να είναι πολύ χρήσιμη στον
- εντοπισμό προβλημάτων του συστήματος και για το λόγο αυτό
- συνιστούμε να τα ενεργοποιείτε όταν είναι δυνατόν. Επιλέξτε
- <guibutton>[&nbsp;Yes&nbsp;]</guibutton> για να τα ενεργοποιήσετε,
- ή <guibutton>[&nbsp;No&nbsp;]</guibutton> για να συνεχίσετε χωρίς
- crash dumps.</para>
-
- <figure xml:id="bsdinstall-config-crashdump">
- <title>Ενεργοποίηση Crash Dumps</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-config-crashdump"/>
- </imageobject>
- </mediaobject>
- </figure>
- </sect2>
-
- <sect2 xml:id="bsdinstall-addusers">
- <title>Προσθήκη Χρηστών</title>
-
- <para>Η προσθήκη τουλάχιστον ενός χρήστη κατά την εγκατάσταση, σας
- επιτρέπει να χρησιμοποιήσετε το σύστημα χωρίς να εισέλθετε
- ως <systemitem class="username">root</systemitem>. Όταν εισέρχεστε ως
- <systemitem class="username">root</systemitem>, δεν υπάρχουν
- πρακτικά όρια ή κάποιο είδος προστασίας σχετικά με το τι μπορείτε
- να κάνετε. Όταν εισέρχεστε ως κανονικός χρήστης, μπορείτε να
- χειριστείτε το σύστημα σας με περισσότερη ασφάλεια.</para>
-
- <para>Επιλέξτε <guibutton>[&nbsp;Yes&nbsp;]</guibutton> για να
- προσθέσετε νέους χρήστες.</para>
-
- <figure xml:id="bsdinstall-add-user1">
- <title>Προσθήκη Λογαριασμών Χρηστών</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-adduser1"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Εισάγετε τις πληροφορίες για το χρήστη που θα προστεθεί.</para>
-
- <figure xml:id="bsdinstall-add-user2">
- <title>Εισαγωγή Πληροφοριών Χρήστη</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-adduser2"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <itemizedlist>
- <title>Πληροφορίες Χρήστη</title>
-
- <listitem>
- <para><literal>Username</literal> - Το όνομα που θα χρησιμοποιεί
- ο χρήστης για να εισέλθει στο σύστημα. Τυπικά το πρώτο γράμμα
- του μικρού ονόματος σε συνδυασμό με το επίθετο.</para>
- </listitem>
-
- <listitem>
- <para><literal>Full name</literal> - Το πλήρες όνομα του
- χρήστη.</para>
- </listitem>
-
- <listitem>
- <para><literal>Uid</literal> - User ID. Ο αναγνωριστικός
- αριθμός χρήστη. Συνήθως δεν συμπληρώνουμε αυτό το πεδίο,
- ώστε να επιλεγεί αυτόματα ένας αριθμός από το σύστημα.</para>
- </listitem>
-
- <listitem>
- <para><literal>Login group</literal> - Η ομάδα στην οποία
- ανήκει ο χρήστης. Συνήθως το αφήνουμε κενό ώστε να γίνει
- αποδεκτή η προεπιλεγμένη τιμή.</para>
- </listitem>
-
- <listitem>
- <para><literal>Invite user into
- other groups?</literal> - Επιπρόσθετες ομάδες χρηστών στις
- οποίες θέλουμε να ανήκει ο χρήστης.</para>
- </listitem>
-
- <listitem>
- <para><literal>Login class</literal> - Συνήθως δεν συμπληρώνουμε
- αυτό το πεδίο, ώστε να γίνει αποδεκτή η προεπιλεγμένη
- τιμή.</para>
- </listitem>
-
- <listitem>
- <para><literal>Shell</literal> - Το κέλυφος που θα χρησιμοποιεί
- ο συγκεκριμένος χρήστης. Στο παράδειγμα μας επιλέξαμε το
- &man.csh.1;.</para>
- </listitem>
-
- <listitem>
- <para><literal>Home directory</literal> - Ο προσωπικός κατάλογος
- του χρήστη. Η προεπιλεγμένη τιμή είναι συνήθως η σωστή.</para>
- </listitem>
-
- <listitem>
- <para><literal>Home directory permissions</literal> -
- Τα δικαιώματα στον κατάλογο του χρήστη. Τα προεπιλεγμένα είναι
- συνήθως σωστά.</para>
- </listitem>
-
- <listitem>
- <para><literal>Use password-based authentication?</literal> -
- H τυπική απάντηση είναι "yes".</para>
- </listitem>
-
- <listitem>
- <para><literal>Use an empty password?</literal> -
- Η τυπική απάντηση είναι "no".</para>
- </listitem>
-
- <listitem>
- <para><literal>Use a random password?</literal> - Η τυπική
- απάντηση είναι "no".</para>
- </listitem>
-
- <listitem>
- <para><literal>Enter password</literal> - Ο κωδικός πρόσβασης για
- το συγκεκριμένο χρήστη. Δεν φαίνεται στην οθόνη καθώς τον
- πληκτρολογούμε.</para>
- </listitem>
-
- <listitem>
- <para><literal>Enter password again</literal> - Ο κωδικός πρέπει
- να εισαχθεί άλλη μια φορά για επιβεβαίωση.</para>
- </listitem>
-
- <listitem>
- <para><literal>Lock out the account after creation?</literal>
- - Η τυπική απάντηση είναι "no".</para>
- </listitem>
- </itemizedlist>
-
- <para>Αφού εισάγετε όλες τις πληροφορίες, θα δείτε μια περίληψη τους
- και το σύστημα θα σας ρωτήσει για την ορθότητα τους. Αν κάνατε
- κάποιο λάθος κατά τη διάρκεια της εισαγωγής, γράψτε
- <literal>no</literal> και ξαναπροσπαθήστε. Αν όλα είναι σωστά,
- γράψτε <literal>yes</literal> για να δημιουργήσετε το νέο
- χρήστη.</para>
-
- <figure xml:id="bsdinstall-add-user3">
- <title>Έξοδος από τη Διαχείριση Χρηστών και Ομάδων</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-adduser3"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Αν θέλετε να προσθέσετε περισσότερους χρήστες, απαντήστε στην
- ερώτηση <quote>Add another user?</quote> με <literal>yes</literal>.
- Απαντήστε <literal>no</literal> για να τελειώσετε με την προσθήκη
- χρηστών και να συνεχίσετε την εγκατάσταση.</para>
-
- <para>Για περισσότερες πληροφορίες σχετικά με την προσθήκη και
- διαχείριση χρηστών, δείτε το <xref linkend="users"/>.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-final-conf">
- <title>Τελικές Ρυθμίσεις</title>
-
- <para>Μετά το τέλος της εγκατάστασης και των αρχικών ρυθμίσεων, έχετε
- μια τελευταία ευκαιρία να αλλάξετε τις ρυθμίσεις πριν την έξοδο από
- το πρόγραμμα εγκατάστασης.</para>
-
- <figure xml:id="bsdinstall-final-config">
- <title>Τελικές Ρυθμίσεις</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-finalconfiguration"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Χρησιμοποιήστε αυτό το μενού για να κάνετε οποιεσδήποτε αλλαγές
- ή πρόσθετες ρυθμίσεις θέλετε πριν την ολοκλήρωση της
- εγκατάστασης.</para>
-
- <itemizedlist>
- <title>Επιλογές Τελικών Ρυθμίσεων</title>
-
- <listitem>
- <para><literal>Add User</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-addusers"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Root Password</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-post-root"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Hostname</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-hostname"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Network</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-config-network-dev"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Services</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-sysconf"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Time Zone</literal> - Περιγράφεται στο
- <xref linkend="bsdinstall-timezone"/>.</para>
- </listitem>
-
- <listitem>
- <para><literal>Handbook</literal> - Μεταφόρτωση και εγκατάσταση
- του Εγχειριδίου του &os; (το οποίο διαβάζετε αυτή τη
- στιγμή).</para>
- </listitem>
- </itemizedlist>
-
- <para>Με την ολοκλήρωση των τελικών ρυθμίσεων, επιλέξτε
- <guibutton>Exit</guibutton> για να κλείσετε την εγκατάσταση.</para>
-
- <figure xml:id="bsdinstall-final-modification-shell">
- <title>Χειροκίνητη Ρύθμιση</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-final-modification-shell"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Το <application>bsdinstall</application> θα σας ρωτήσει για
- τυχόν επιπλέον ρυθμίσεις που πρέπει να γίνουν πριν επανεκκινήσετε
- στο νέο σύστημα. Επιλέξτε <guibutton>[&nbsp;Yes&nbsp;]</guibutton>
- για να εκκινήσετε ένα κέλυφος στο νέο σύστημα ή
- <guibutton>[&nbsp;No&nbsp;]</guibutton> για να προχωρήσετε στο
- τελευταίο βήμα της εγκατάστασης.</para>
-
- <figure xml:id="bsdinstall-final-main">
- <title>Ολοκλήρωση της Εγκατάστασης</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="bsdinstall/bsdinstall-mainexit"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Αν χρειάζεται να κάνετε περισσότερες ή ειδικές ρυθμίσεις,
- μπορείτε να επιλέξετε
- <guibutton>[&nbsp;Live&nbsp;CD&nbsp;]</guibutton>.
- Με την επιλογή αυτή, Θα ξεκινήσετε το μέσο εγκατάστασης σε
- κατάσταση Live CD.</para>
-
- <para>Με την ολοκλήρωση της εγκατάστασης, επιλέξτε
- <guibutton>[&nbsp;Reboot&nbsp;]</guibutton> για να επανεκκινήσετε
- τον υπολογιστή σας και να ξεκινήσετε το νέο &os; σύστημά σας.
- Μη ξεχάσετε να αφαιρέσετε το μέσο εγκατάστασης από τον οδηγό CD (ή
- την USB υποδοχή), διαφορετικά το σύστημα σας ίσως ξεκινήσει ξανά
- από αυτό.</para>
- </sect2>
-
- <sect2 xml:id="bsdinstall-freebsdboot">
- <title>Εκκίνηση και Τερματισμός του &os;</title>
-
- <sect3 xml:id="bsdinstall-freebsdboot-i386">
- <title>Εκκίνηση στο &os;/&arch.i386;</title>
-
- <para>Κατά την εκκίνηση του &os; εμφανίζονται πολλά πληροφοριακά
- μηνύματα. Φυσιολογικά, τα περισσότερα κυλούν εκτός της οθόνης.
- Μετά το τέλος της εκκίνησης εμφανίζεται η προτροπή εισόδου στο
- σύστημα (login). Μπορείτε να δείτε τα μηνύματα που κύλησαν εκτός
- οθόνης πιέζοντας το πλήκτρο <keycap>Scroll-Lock</keycap> για να
- να ενεργοποιήσετε την <emphasis>προσωρινή μνήμη κύλισης</emphasis>.
- Χρησιμοποιήστε έπειτα τα πλήκτρα <keycap>PgUp</keycap>,
- <keycap>PgDn</keycap> και τα βελάκια για να δείτε τα παλιά
- μηνύματα. Πιέζοντας το <keycap>Scroll-Lock</keycap> ξανά, θα
- επιστρέψετε στην κανονική απεικόνιση.</para>
-
- <para>Στην προτροπή <prompt>login:</prompt> γράψτε το όνομα που
- δημιουργήσατε κατά την εγκατάσταση, στο παράδειγμα μας
- <systemitem class="username">asample</systemitem>. Να αποφεύγετε
- να εισέρχεστε ως
- <systemitem class="username">root</systemitem> όταν δεν είναι
- απαραίτητο.</para>
-
- <para>Η δυνατότητα προς τα πίσω κύλισης των μηνυμάτων που
- περιγράψαμε προηγουμένως είναι περιορισμένη, επομένως δεν θα
- μπορέσετε με αυτό τον τρόπο να τα δείτε όλα. Μετά την είσοδο
- σας στο σύστημα, μπορείτε να δείτε τα μηνύματα από τη γραμμή
- εντολών γράφοντας <command>dmesg | less</command> στην προτροπή.
- Πιέστε <keycap>q</keycap> για να επιστρέψετε στη γραμμή εντολών
- όταν τελειώσετε.</para>
-
- <para>Τυπικά μηνύματα εκκίνησης (έχουν παραλειφθεί οι
- πληροφορίες έκδοσης):</para>
-
- <screen>Copyright (c) 1992-2011 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 is a registered trademark of The FreeBSD Foundation.
-
- root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
-CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (3007.77-MHz K8-class CPU)
- Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6
- Features=0x783fbff&lt;FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2&gt;
- Features2=0x209&lt;SSE3,MON,SSSE3&gt;
- AMD Features=0x20100800&lt;SYSCALL,NX,LM&gt;
- AMD Features2=0x1&lt;LAHF&gt;
-real memory = 536805376 (511 MB)
-avail memory = 491819008 (469 MB)
-Event timer "LAPIC" quality 400
-ACPI APIC Table: &lt;VBOX VBOXAPIC&gt;
-ioapic0: Changing APIC ID to 1
-ioapic0 &lt;Version 1.1&gt; irqs 0-23 on motherboard
-kbd1 at kbdmux0
-acpi0: &lt;VBOX VBOXXSDT&gt; on motherboard
-acpi0: Power Button (fixed)
-acpi0: Sleep Button (fixed)
-Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
-acpi_timer0: &lt;32-bit timer at 3.579545MHz&gt; port 0x4008-0x400b on acpi0
-cpu0: &lt;ACPI CPU&gt; on acpi0
-pcib0: &lt;ACPI Host-PCI bridge&gt; port 0xcf8-0xcff on acpi0
-pci0: &lt;ACPI PCI bus&gt; on pcib0
-isab0: &lt;PCI-ISA bridge&gt; at device 1.0 on pci0
-isa0: &lt;ISA bus&gt; on isab0
-atapci0: &lt;Intel PIIX4 UDMA33 controller&gt; port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
-ata0: &lt;ATA channel 0&gt; on atapci0
-ata1: &lt;ATA channel 1&gt; on atapci0
-vgapci0: &lt;VGA-compatible display&gt; mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0
-em0: &lt;Intel(R) PRO/1000 Legacy Network Connection 1.0.3&gt; port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0
-em0: Ethernet address: 08:00:27:9f:e0:92
-pci0: &lt;base peripheral&gt; at device 4.0 (no driver attached)
-pcm0: &lt;Intel ICH (82801AA)&gt; port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
-pcm0: &lt;SigmaTel STAC9700/83/84 AC97 Codec&gt;
-ohci0: &lt;OHCI (generic) USB controller&gt; mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
-usbus0: &lt;OHCI (generic) USB controller&gt; on ohci0
-pci0: &lt;bridge&gt; at device 7.0 (no driver attached)
-acpi_acad0: &lt;AC Adapter&gt; on acpi0
-atkbdc0: &lt;Keyboard controller (i8042)&gt; port 0x60,0x64 irq 1 on acpi0
-atkbd0: &lt;AT Keyboard&gt; irq 1 on atkbdc0
-kbd0 at atkbd0
-atkbd0: [GIANT-LOCKED]
-psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
-psm0: [GIANT-LOCKED]
-psm0: model IntelliMouse Explorer, device ID 4
-attimer0: &lt;AT timer&gt; port 0x40-0x43,0x50-0x53 on acpi0
-Timecounter "i8254" frequency 1193182 Hz quality 0
-Event timer "i8254" frequency 1193182 Hz quality 100
-sc0: &lt;System console&gt; at flags 0x100 on isa0
-sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
-vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
-atrtc0: &lt;AT realtime clock&gt; at port 0x70 irq 8 on isa0
-Event timer "RTC" frequency 32768 Hz quality 0
-ppc0: cannot reserve I/O port range
-Timecounters tick every 10.000 msec
-pcm0: measured ac97 link rate at 485193 Hz
-em0: link state changed to UP
-usbus0: 12Mbps Full Speed USB v1.0
-ugen0.1: &lt;Apple&gt; at usbus0
-uhub0: &lt;Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1&gt; on usbus0
-cd0 at ata1 bus 0 scbus1 target 0 lun 0
-cd0: &lt;VBOX CD-ROM 1.0&gt; Removable CD-ROM SCSI-0 device
-cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
-cd0: Attempt to query device size failed: NOT READY, Medium not present
-ada0 at ata0 bus 0 scbus0 target 0 lun 0
-ada0: &lt;VBOX HARDDISK 1.0&gt; ATA-6 device
-ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
-ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C)
-ada0: Previously was known as ad0
-Timecounter "TSC" frequency 3007772192 Hz quality 800
-Root mount waiting for: usbus0
-uhub0: 8 ports with 8 removable, self powered
-Trying to mount root from ufs:/dev/ada0p2 [rw]...
-Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551.
-Setting hostid: 0xa03479b2.
-Entropy harvesting: interrupts ethernet point_to_point kickstart.
-Starting file system checks:
-/dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
-/dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation)
-Mounting local file systems:.
-vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
-vboxguest: loaded successfully
-Setting hostname: machine3.example.com.
-Starting Network: lo0 em0.
-lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
- options=3&lt;RXCSUM,TXCSUM&gt;
- inet6 ::1 prefixlen 128
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
- inet 127.0.0.1 netmask 0xff000000
- nd6 options=21&lt;PERFORMNUD,AUTO_LINKLOCAL&gt;
-em0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
- options=9b&lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM&gt;
- ether 08:00:27:9f:e0:92
- nd6 options=29&lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&gt;
- media: Ethernet autoselect (1000baseT &lt;full-duplex&gt;)
- status: active
-Starting devd.
-Starting Network: usbus0.
-DHCPREQUEST on em0 to 255.255.255.255 port 67
-DHCPACK from 10.0.2.2
-bound to 192.168.1.142 -- renewal in 43200 seconds.
-add net ::ffff:0.0.0.0: gateway ::1
-add net ::0.0.0.0: gateway ::1
-add net fe80::: gateway ::1
-add net ff02::: gateway ::1
-ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
-32-bit compatibility ldconfig path: /usr/lib32
-Creating and/or trimming log files.
-Starting syslogd.
-No core dumps found.
-Clearing /tmp (X related).
-Updating motd:.
-Configuring syscons: blanktime.
-Generating public/private rsa1 key pair.
-Your identification has been saved in /etc/ssh/ssh_host_key.
-Your public key has been saved in /etc/ssh/ssh_host_key.pub.
-The key fingerprint is:
-10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
-The key's randomart image is:
-+--[RSA1 1024]----+
-| o.. |
-| o . . |
-| . o |
-| o |
-| o S |
-| + + o |
-|o . + * |
-|o+ ..+ . |
-|==o..o+E |
-+-----------------+
-Generating public/private dsa key pair.
-Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
-Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
-The key fingerprint is:
-7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
-The key's randomart image is:
-+--[ DSA 1024]----+
-| .. . .|
-| o . . + |
-| . .. . E .|
-| . . o o . . |
-| + S = . |
-| + . = o |
-| + . * . |
-| . . o . |
-| .o. . |
-+-----------------+
-Starting sshd.
-Starting cron.
-Starting background file system checks in 60 seconds.
-
-Thu Oct 6 19:15:31 MDT 2011
-
-FreeBSD/amd64 (machine3.example.com) (ttyv0)
-
-login:</screen>
-
- <para>Η δημιουργία των κλειδιών RSA και DSA μπορεί να πάρει
- κάποιο χρόνο σε αργά μηχανήματα. Γίνεται όμως μόνο στην
- πρώτη εκκίνηση και μόνο αν έχει ρυθμιστεί το
- <application>sshd</application> για αυτόματη εκκίνηση.
- Οι επόμενες εκκινήσεις θα είναι ταχύτερες.</para>
-
- <para>Το &os; δεν εγκαθιστά κάποιο γραφικό περιβάλλον από προεπιλογή,
- αλλά υπάρχουν αρκετά διαθέσιμα προς εγκατάσταση. Δείτε το
- <xref linkend="x11"/> για περισσότερες πληροφορίες.</para>
- </sect3>
- </sect2>
-
- <sect2 xml:id="bsdinstall-shutdown">
- <title>Τερματισμός του &os;</title>
-
- <para>Ο σωστός τερματισμός του &os; εξασφαλίζει τα δεδομένα και
- το υλικό του υπολογιστή σας από ζημιά. Δεν πρέπει απλώς να
- διακόψετε την τροφοδοσία. Αν ο χρήστης σας είναι μέλος της ομάδας
- <systemitem class="groupname">wheel</systemitem>, μπορείτε να
- γίνετε υπερχρήστης με
- την εντολή <command>su</command> και την εισαγωγή του κωδικού
- του <systemitem class="username">root</systemitem>. Διαφορετικά,
- συνδεθείτε ως
- <systemitem class="username">root</systemitem> και χρησιμοποιήστε
- την εντολή <command>shutdown -p now</command>. Το σύστημα θα
- τερματίσει με το σωστό τρόπο και θα διακοπεί και η παροχή
- ρεύματος.</para>
-
- <para>Μπορείτε να χρησιμοποιήσετε το συνδυασμό πλήκτρων
- <keycombo action="simul">
- <keycap>Ctrl</keycap>
- <keycap>Alt</keycap>
- <keycap>Del</keycap>
- </keycombo>
- για να επανεκκινήσετε το σύστημα, αλλά αυτό δεν συνίσταται κατά τη
- διάρκεια της κανονικής λειτουργίας.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="bsdinstall-install-trouble">
- <title>Αντιμετώπιση Προβλημάτων</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>troubleshooting</secondary>
- </indexterm>
- <para>Η ενότητα που ακολουθεί καλύπτει την αντιμετώπιση βασικών
- προβλημάτων εγκατάστασης &mdash; για παράδειγμα κοινά προβλήματα που
- έχουν αναφερθεί από πολλούς χρήστες. Υπάρχουν επίσης κάποιες
- ερωτήσεις και απαντήσεις για όσους επιθυμούν να έχουν το &os; ως dual
- boot με &ms-dos; ή &windows;.</para>
-
- <sect2>
- <title>Τι να Κάνετε αν Κάτι Πάει Στραβά</title>
-
- <para>Λόγω των διάφορων περιορισμών στην αρχιτεκτονική του PC, δεν
- είναι δυνατόν η ανίχνευση συσκευών να είναι 100% αξιόπιστη.
- Υπάρχουν όμως κάποια πράγματα που μπορείτε να κάνετε αν
- η ανίχνευση δεν είναι επιτυχής.</para>
-
- <para>Ελέγξτε τις <link
- xlink:href="http://www.FreeBSD.org/releases/index.html">Σημειώσεις
- Υλικού</link> για την έκδοση του &os; που χρησιμοποιείτε,
- για να βεβαιωθείτε ότι το υλικό σας υποστηρίζεται.</para>
-
- <para>Αν το υλικό σας υποστηρίζεται και εξακολουθείτε να έχετε
- κολλήματα ή άλλα προβλήματα, θα πρέπει να δημιουργήσετε ένα
- <link linkend="kernelconfig">προσαρμοσμένο πυρήνα</link>. Αυτό
- θα σας επιτρέψει να προσθέσετε υποστήριξη για συσκευές οι οποίες
- δεν υπάρχουν στον πυρήνα <filename>GENERIC</filename>. Ο πυρήνας
- στο μέσο εγκατάστασης έχει δημιουργηθεί με την υπόθεση ότι οι
- περισσότερες συσκευές βρίσκονται στις προεπιλεγμένες ρυθμίσεις
- τους όσο αφορά τα IRQs, τις διευθύνσεις IO και τα κανάλια DMA.
- Αν έχετε αλλάξει αυτές τις ρυθμίσεις ίσως χρειαστεί να αλλάξετε
- τις ρυθμίσεις του πυρήνα και να τον επαναμεταγλωττίσετε για να
- μπορέσει το &os; να εντοπίσει τις συσκευές σας.</para>
-
- <para>Είναι επίσης πιθανό η διαδικασία ανίχνευσης για μια συσκευή
- που δεν είναι εγκατεστημένη να προκαλέσει πρόβλημα στην ανίχνευση
- μιας άλλης υπαρκτής συσκευής. Στην περίπτωση αυτή, θα πρέπει να
- αφαιρέσετε την ανίχνευση για τη συσκευή που δημιουργεί το
- πρόβλημα.</para>
-
- <note>
- <para>Κάποια προβλήματα εγκατάστασης μπορούν να αποφευχθούν ή να
- μειωθούν με την αναβάθμιση firmware διάφορων συσκευών υλικού και
- ειδικότερα της μητρικής. Το firmware της μητρικής είναι συχνά
- γνωστό με τον όρο <acronym>BIOS</acronym>. Οι περισσότεροι
- κατασκευαστές μητρικών διαθέτουν μια δικτυακή τοποθεσία από όπου
- μπορείτε να κατεβάσετε αναβαθμισμένες εκδόσεις και
- ανάλογες πληροφορίες.</para>
-
- <para>Οι κατασκευαστές συνήθως συνιστούν να μην αναβαθμίζετε το
- <acronym>BIOS</acronym> της μητρικής αν δεν υπάρχει καλός λόγος,
- όπως για παράδειγμα μια κρίσιμη ενημέρωση. Η ενημέρωση
- <emphasis>ενδέχεται να αποτύχει</emphasis> αφήνοντας το
- <acronym>BIOS</acronym> σε μια ενδιάμεση κατάσταση και τον
- υπολογιστή εκτός λειτουργίας.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Ερωτήσεις και Απαντήσεις στην Αντιμετώπιση Προβλημάτων</title>
-
- <qandaset>
- <qandaentry>
- <question>
- <para>Το σύστημα μου σταματά να ανταποκρίνεται κατά την
- ανίχνευση συσκευών στην εκκίνηση ή συμπεριφέρεται περίεργα
- κατά την εγκατάσταση.</para>
- </question>
-
- <answer>
- <para>Το &os; κάνει εκτεταμένη χρήση των υπηρεσιών ACPI
- (εφόσον υπάρχει) στις αρχιτεκτονικές i386, amd64 και ia64
- ώστε να ρυθμίσει σωστά τις συσκευές κατά την εκκίνηση.
- Δυστυχώς υπάρχουν ακόμα κάποια προβλήματα τόσο στο
- ACPI όσο και στο <acronym>BIOS</acronym> firmware αρκετών
- μητρικών. Μπορείτε να απενεργοποιήσετε το ACPI θέτοντας
- <literal>hint.acpi.0.disabled</literal> στο τρίτο στάδιο
- του φορτωτή εκκίνησης:</para>
-
- <screen><userinput>set hint.acpi.0.disabled="1"</userinput></screen>
-
- <para>Καθώς η ρύθμιση αυτή χάνεται σε κάθε εκκίνηση, είναι
- απαραίτητο να προσθέσετε την οδηγία
- <literal>hint.acpi.0.disabled="1"</literal> στο αρχείο
- <filename>/boot/loader.conf</filename>. Μπορείτε να βρείτε
- περισσότερες πληροφορίες για το φορτωτή εκκίνησης στο
- <xref linkend="boot-synopsis"/>.</para>
- </answer>
- </qandaentry>
- </qandaset>
- </sect2>
- </sect1>
-
- <sect1 xml:id="using-live-cd">
- <title>Χρησιμοποιώντας τη Λειτουργία Live CD</title>
-
- <para>Η λειτουργία live CD του &os; διατίθεται στο ίδιο CD με το
- βασικό πρόγραμμα εγκατάστασης. Είναι χρήσιμη για όσους ακόμα
- αναρρωτιούνται αν το &os; είναι το κατάλληλο λειτουργικό για
- αυτούς και θέλουν να δοκιμάσουν κάποια από τα χαρακτηριστικά του
- πριν το εγκαταστήσουν.</para>
-
- <note>
- <para>Κατά τη χρήση του live CD να έχετε υπόψη σας τα
- παρακάτω:</para>
-
- <itemizedlist>
- <listitem>
- <para>Για να αποκτήσετε πρόσβαση στο σύστημα θα πρέπει να
- περάσετε από διαδικασία εισόδου. Το όνομα χρήστη
- είναι <systemitem class="username">root</systemitem> και
- ο κωδικός είναι κενός.</para>
- </listitem>
-
- <listitem>
- <para>Καθώς το σύστημα εκτελείται απευθείας από το CD, η
- απόδοση του θα είναι σημαντικά χαμηλότερη σε σχέση με
- ένα σύστημα εγκατεστημένο σε σκληρό δίσκο.</para>
- </listitem>
-
- <listitem>
- <para>Το live CD παρέχει μόνο γραμμή εντολών και όχι
- γραφικό περιβάλλον.</para>
- </listitem>
- </itemizedlist>
- </note>
- </sect1>
-</chapter>
diff --git a/el_GR.ISO8859-7/books/handbook/chapters.ent b/el_GR.ISO8859-7/books/handbook/chapters.ent
deleted file mode 100644
index ea04851198..0000000000
--- a/el_GR.ISO8859-7/books/handbook/chapters.ent
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Ορισμός των entities για κάθε κεφάλαιο του Εγχειριδίου του FreeBSD.
-
- Κάθε entity ονομάζεται chap.foo, όπου foo είναι η τιμή του id attribute
- που έχει το αντίστοιχο κεφάλαιο (συνήθως αυτό είναι ίδιο και με το όνομα
- του καταλόγου στον οποίο είναι αποθηκευμένο το κεφάλαιο σε SGML μορφή).
-
- Τα κεφάλαια εδώ είναι καλό να έχουν την ίδια σειρά με την οποία
- εμφανίζονται στο τελικό βιβλίο.
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/chapters.ent
- %SRCID% 43126
-
--->
-
-<!ENTITY chap.preface SYSTEM "preface/preface.xml">
-<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
-
-<!-- Part One -->
- <!ENTITY chap.introduction SYSTEM "introduction/chapter.xml">
- <!ENTITY chap.install SYSTEM "install/chapter.xml">
- <!ENTITY chap.bsdinstall SYSTEM "bsdinstall/chapter.xml">
- <!ENTITY chap.basics SYSTEM "basics/chapter.xml">
- <!ENTITY chap.ports SYSTEM "ports/chapter.xml">
- <!ENTITY chap.x11 SYSTEM "x11/chapter.xml">
-
-<!-- Part Two -->
- <!ENTITY chap.desktop SYSTEM "desktop/chapter.xml">
- <!ENTITY chap.multimedia SYSTEM "multimedia/chapter.xml">
- <!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.xml">
- <!ENTITY chap.printing SYSTEM "printing/chapter.xml">
- <!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.xml">
-
-<!-- Part Three -->
- <!ENTITY chap.config SYSTEM "config/chapter.xml">
- <!ENTITY chap.boot SYSTEM "boot/chapter.xml">
-<!-- users chapter stays in the Greek build until merged with basics -->
- <!ENTITY chap.users SYSTEM "users/chapter.xml">
- <!ENTITY chap.security SYSTEM "security/chapter.xml">
- <!ENTITY chap.jails SYSTEM "jails/chapter.xml">
- <!ENTITY chap.mac SYSTEM "mac/chapter.xml">
- <!ENTITY chap.audit SYSTEM "audit/chapter.xml">
- <!ENTITY chap.disks SYSTEM "disks/chapter.xml">
- <!ENTITY chap.geom SYSTEM "geom/chapter.xml">
- <!ENTITY chap.filesystems SYSTEM "filesystems/chapter.xml">
- <!ENTITY chap.virtualization SYSTEM "virtualization/chapter.xml">
- <!ENTITY chap.l10n SYSTEM "l10n/chapter.xml">
- <!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.xml">
- <!ENTITY chap.dtrace SYSTEM "dtrace/chapter.xml">
-
-<!-- Part Four -->
- <!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.xml">
- <!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.xml">
- <!ENTITY chap.mail SYSTEM "mail/chapter.xml">
- <!ENTITY chap.network-servers SYSTEM "network-servers/chapter.xml">
- <!ENTITY chap.firewalls SYSTEM "firewalls/chapter.xml">
- <!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.xml">
-
-<!-- Part Five (appendices) -->
- <!ENTITY chap.mirrors SYSTEM "mirrors/chapter.xml">
- <!ENTITY chap.mirrors.lastmod.inc SYSTEM "mirrors.lastmod.inc">
- <!ENTITY chap.mirrors.ftp.index.inc SYSTEM "mirrors.xml.ftp.index.inc">
- <!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.xml.ftp.inc">
- <!ENTITY chap.mirrors.cvsup.index.inc SYSTEM "mirrors.xml.cvsup.index.inc">
- <!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.xml.cvsup.inc">
- <!ENTITY chap.bibliography SYSTEM "bibliography/chapter.xml">
- <!ENTITY chap.eresources SYSTEM "eresources/chapter.xml">
- <!ENTITY chap.eresources.www.index.inc SYSTEM "eresources.xml.www.index.inc">
- <!ENTITY chap.eresources.www.inc SYSTEM "eresources.xml.www.inc">
- <!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.xml">
- <!ENTITY chap.freebsd-glossary SYSTEM "../../share/xml/glossary.ent">
- <!ENTITY chap.index "<index xmlns='http://docbook.org/ns/docbook'/>">
-
-<!ENTITY chap.colophon SYSTEM "colophon.xml">
diff --git a/el_GR.ISO8859-7/books/handbook/colophon.xml b/el_GR.ISO8859-7/books/handbook/colophon.xml
deleted file mode 100644
index e516ed8905..0000000000
--- a/el_GR.ISO8859-7/books/handbook/colophon.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Περίληψη Βιβλίου
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/colophon.xml
- %SRCID% 38826
-
--->
-<colophon xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="colophon">
- <para>Αυτό το βιβλίο είναι το αποτέλεσμα της ομαδικής εργασίας εκατοντάδων
- εθελοντών της <quote>Ομάδας Τεκμηρίωσης του &os;</quote>. Αυτό το
- κείμενο γράφτηκε σε μορφή SGML, σύμφωνα με το DocBook DTD και έχει
- μορφοποιηθεί από την SGML σε πολλές διαφορετικές μορφές παρουσίασης
- χρησιμοποιώντας την εφαρμογή <application>Jade</application>, μια μηχανή
- DSSSL ανοιχτού κώδικα. Χρησιμοποιήθηκαν τα DSSSL stylesheets του Norm Walsh με ένα
- επιπλέον επίπεδο τροποποίησης για να δώσουν τις οδηγίες παρουσίασης στην
- <application>Jade</application>. Η έντυπη μορφή αυτού του κειμένου δεν θα
- υπήρχε χωρίς την γλώσσα στοιχειοθεσίας &tex;
- του Donald Knuth, το <application>LaTeX</application> του Leslie Lamport,
- ή το macro package <application>JadeTeX</application> του Sebastian
- Rahtz.</para>
-</colophon>
diff --git a/el_GR.ISO8859-7/books/handbook/config/chapter.xml b/el_GR.ISO8859-7/books/handbook/config/chapter.xml
deleted file mode 100644
index a8e1c72b81..0000000000
--- a/el_GR.ISO8859-7/books/handbook/config/chapter.xml
+++ /dev/null
@@ -1,3221 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!--
-
- Το Εγχειρίδιο του FreeBSD: Ρύθμιση και Βελτιστοποίηση
-
- The FreeBSD Greek Documentation Project
-
- $FreeBSD$
-
- %SOURCE% en_US.ISO8859-1/books/handbook/config/chapter.xml
- %SRCID% 1.229
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="config-tuning">
- <info><title>Ρύθμιση και Βελτιστοποίηση</title>
- <authorgroup>
- <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Γράφτηκε από τον </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Mike</firstname><surname>Smith</surname></personname><contrib>Βασίστηκε σε tutorial γραμμένο από τον </contrib></author>
- </authorgroup>
- <authorgroup>
- <author><personname><firstname>Matt</firstname><surname>Dillon</surname></personname><contrib>Βασισμένο επίσης στο tuning(7) που γράφηκε από τον </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <sect1 xml:id="config-synopsis">
- <title>Σύνοψη</title>
-
- <indexterm><primary>ρύθμιση συστήματος</primary></indexterm>
- <indexterm><primary>βελτιστοποίηση συστήματος</primary></indexterm>
-
- <para>Ένα από τα σημαντικά χαρακτηριστικά του &os; είναι η δυνατότητα
- ρύθμισης του συστήματος. Με τις σωστές ρυθμίσεις συστήματος είναι
- εύκολο να αποφευχθούν πολλά προβλήματα κατά τη διάρκεια μελλοντικών
- αναβαθμίσεων. Το κεφάλαιο αυτό θα εξηγήσει μεγάλο μέρος της διαδικασίας
- ρύθμισης του &os;, συμπεριλαμβανομένων και κάποιων παραμέτρων που
- μπορούν να ρυθμιστούν για την βελτιστοποίηση της απόδοσης του
- συστήματος.</para>
-
- <para>Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:</para>
-
- <itemizedlist>
- <listitem>
- <para>Πως να δουλέψετε αποδοτικά με συστήματα αρχείων και κατατμήσεις
- swap.</para>
- </listitem>
- <listitem>
- <para>Τα βασικά των συστημάτων ρύθμισης και εκκίνησης
- <filename>rc.conf</filename> και
- <filename>/usr/local/etc/rc.d</filename>.</para>
- </listitem>
- <listitem>
- <para>Πως να ρυθμίσετε και να δοκιμάσετε μια κάρτα δικτύου.</para>
- </listitem>
- <listitem>
- <para>Πως να ρυθμίσετε virtual hosts στις δικτυακές σας συσκευές.</para>
- </listitem>
- <listitem>
- <para>Πως να χρησιμοποιήσετε τα διάφορα αρχεία ρυθμίσεων στον κατάλογο
- <filename>/etc</filename>.</para>
- </listitem>
- <listitem>
- <para>Πως να βελτιστοποιήσετε το &os; χρησιμοποιώντας μεταβλητές
- <command>sysctl</command>.</para>
- </listitem>
- <listitem>
- <para>Πως να βελτιστοποιήσετε την απόδοση του δίσκου και να αλλάξετε τους
- περιορισμούς του πυρήνα.</para>
- </listitem>
- </itemizedlist>
-
- <para>Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:</para>
-
- <itemizedlist>
- <listitem>
- <para>Να κατανοείτε βασικές έννοιες του &unix; και του &os; (<xref linkend="basics"/>).</para>
- </listitem>
-
- <listitem>
- <para>Να είστε εξοικειωμένοι με τα βασικά της ρύθμισης και της
- μεταγλώττισης του πυρήνα (<xref linkend="kernelconfig"/>).</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="configtuning-initial">
- <title>Αρχική Ρύθμιση</title>
-
- <sect2>
- <title>Διάταξη Κατατμήσεων</title>
-
- <indexterm><primary>partition layout</primary></indexterm>
- <indexterm>
- <primary><filename>/etc</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/var</filename></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/usr</filename></primary>
- </indexterm>
-
- <sect3>
- <title>Βασικές Κατατμήσεις</title>
-
- <para>Όταν δημιουργείτε συστήματα αρχείων με το &man.bsdlabel.8; ή το
- &man.sysinstall.8;, θυμηθείτε ότι οι σκληροί δίσκοι μεταφέρουν
- δεδομένα γρηγορότερα απο τα εξωτερικά μέροι τους στα εσωτερικά.
- Έτσι μικρότερα και περισσότερο προσβάσιμα συστήματα αρχείων πρέπει
- να είναι πλησιέστερα στο εξωτερικό του δίσκου, ενώ μεγαλύτερες
- κατατμήσεις όπως το <filename>/usr</filename> πρέπει να
- τοποθετούνται πιο κοντά στο εσωτερικό του δίσκου. Είναι καλή ιδέα
- να δημιουργείτε κατατμήσεις με παρόμοια σειρά με αυτήν: root,
- swap, <filename>/var</filename>, <filename>/usr</filename>.</para>
-
- <para>Το μέγεθος του <filename>/var</filename> αντανακλά την
- επιδιωκούμενη χρήση του μηχανήματος. Το <filename>/var</filename>
- χρησιμοποιείτε για την αποθήκευση των γραμματοκιβωτίων, των αρχείων
- καταγραφής και του spooler του εκτυπωτή. Τα γραμματοκιβώτια και τα
- αρχεία καταγραφής μπορούν να μεγαλώσουν σε απροσδόκητα μεγέθη
- ανάλογα με τον αριθμό των χρηστών του συστήματος και το χρονικό
- διάστημα που κρατούνται τα αρχεία καταγραφής. Σπάνια χρειάζεται
- το <filename>/var/tmp</filename> να έχει πάνω από ένα gigabyte χώρο,
- αλλά καλό είναι να έχετε κατά νου ότι πρέπει να είναι αρκετά μεγάλο
- για να κρατάει τα πακέτα που θέλετε να εγκαταστήσετε.</para>
-
- <para>Η κατάτμηση <filename>/usr</filename> περιέχει τα περισσότερα
- αρχεία που απαιτούνται για την υποστήριξη του συστήματος, τη συλλογή
- των &man.ports.7; (προτείνεται) και τον πηγαίο κώδικα (προαιρετικό).
- Και τα δύο αυτά είναι προαιρετικά κατα την εγκατάσταση. Τουλάχιστον
- 2 gigabytes προτείνονται για αυτή την κατάτμηση.</para>
-
- <para>Όταν επιλέγετε μέγεθος για τις κατατμήσεις, να έχετε υπόψιν σας
- τις απαιτήσεις σε χώρο. Μπορεί να είναι λίγο πρόβλημα το να μείνετε
- χωρίς χώρο σε μια κατάτμηση ενώ χρησιμοποιείτε ελάχιστα μια
- άλλη.</para>
-
- <note>
- <para>Μερικές φορές η επιλογή <literal>Auto-defaults</literal> του
- κατατμητή του &man.sysinstall.8; μπορεί να επιλέξει πολύ μικρό
- μέγεθος για τις κατατμήσεις <filename>/var</filename>
- και <filename>/</filename>. Προσπαθείστε να επιλέξετε έξυπνα και
- γενναιόδωρα μεγέθη για τις κατατμήσεις σας.</para></note>
- </sect3>
-
- <sect3 xml:id="swap-design">
- <title>Swap Κατάτμηση</title>
-
- <indexterm><primary>swap sizing</primary></indexterm>
- <indexterm><primary>swap partition</primary></indexterm>
-
- <para>Ένας εμπειρικός κανόνας για να επιλέξετε μέγεθος για την
- κατάτμηση swap είναι: πρέπει να είναι περίπου διπλή απο το μέγεθος
- της μνήμης (RAM) του συστήματος. Για παράδειγμα, αν το μηχάνημα
- έχει 128&nbsp;megabytes μνήμης, η κατάτμηση swap πρέπει να είναι
- 256&nbsp;megabytes. Συστήματα με λιγότερη μνήμη μπορούν να
- αποδίδουν καλύτερα με περισσότερο swap. Λιγότερο απο
- 256&nbsp;megabytes swap δεν προτείνεται και πρέπει να εξεταστεί η
- επέκταση της μνήμης. Οι αλγόριθμοι VM paging του πυρήνα είναι έτσι
- φτιαγμένοι ώστε να αποδίδουν καλύτερα όταν η κατάτμηση swap είναι
- τουλάχιστον δύο φορές το μέγεθος της κεντρικής μνήμης. Αν ρυθμίσετε
- πολύ μικρό swap, μπορεί να έχουν μειωμένη απόδοση οι αλγόριθμοι
- σάρωσης σελίδων του υποσυστήματος VM και μπορεί αργότερα να
- δημιουργηθούν προβλήματα αν προστεθεί περισσότερη φυσική
- μνήμη.</para>
-
- <para>Σε μεγαλύτερα συστήματα με πολλαπλούς SCSI δίσκους (ή πολλαπλούς
- IDE δίσκους σε διαφορετικούς ελεγκτές), είναι προτιμότερο το swap να
- είναι ρυθμισμένο σε κάθε δίσκο (μέχρι τέσσερις δίσκους). Οι
- ξεχωριστές κατατμήσεις swap καλό είναι να έχουν περίπου το ίδιο
- μέγεθος. Ο πυρήνας μπορεί να χειριστεί αυθαίρετα μεγέθη swap, αλλά
- οι εσωτερικές δομές δεδομένων ρυθμίζονται με βάση το μέγεθος της
- μεγαλύτερης κατάτμησης swap. Κρατώντας την κατάτμηση swap σχεδόν
- στο ίδιο μέγεθος θα επιτρέψει στον πυρήνα να βελτιστοποιήσει την
- χρήση του swap, μοιράζοντας πιο καλά το φόρτο σε κάθε δίσκο. Δεν
- πειράζει να έχετε μεγάλο μέγεθος swap, ακόμα και αν δε
- χρησιμοποιείται αρκετά. Μπορεί να είναι ευκολότερη η ανάκαμψη απο
- ένα εκτός ελέγχου πρόγραμμα προτού χρειαστεί να επανεκκινήσετε το
- σύστημα.</para>
- </sect3>
-
- <sect3>
- <title>Γιατί να φτιάξετε κατατμήσεις;</title>
-
- <para>Αρκετοί χρήστες νομίζουν ότι μία μεγάλη κατάτμηση θα είναι
- εντάξει, αλλά υπάρχουν αρκετοί λόγοι γιατί αυτό είναι κακή ιδέα.
- Καταρχήν, κάθε κατάτμηση έχει διαφορετικά λειτουργικά
- χαρακτηριστικά, οπότε ξεχωρίζοντας τις κατατμήσεις επιτρέπουμε στο
- σύστημα αρχείων να εναρμονίζεται ανάλογα. Για παράδειγμα, οι root
- και <filename>/usr</filename> κατατμήσεις είναι κυρίως για ανάγνωση,
- χωρίς πολλές εγγραφές. Αντίθετα, γίνονται πολλές αναγνώσεις και
- εγγραφές στις <filename>/var</filename> και
- <filename>/var/tmp</filename>.</para>
-
- <para>Κάνοντας σωστή κατάτμηση σε ένα σύστημα, ο κατακερματισμός που
- συμβαίνει σε μικρότερες και περισσότερο εγγράψιμες κατατμήσεις δεν
- θα διαρρεύσει στις κατατμήσεις που διαβάζονται πιο συχνά από ότι
- γράφονται. Κρατώντας τις περισσότερο εγγράψιμες κατατμήσεις πιο
- κοντά στην άκρη του δίσκου, θα αυξηθεί η I/O απόδοση στις
- κατατμήσεις όπου και χρειάζεται πιο συχνά. Τώρα ενώ η απόδοση I/O
- χρειάζεται στις μεγαλύτερες κατατμήσεις, αλλάζοντας αυτές πιο κοντά
- στην άκρη του δίσκου δεν θα οδηγήσει σε σημαντική αύξηση της
- απόδοσης όσο το να μετακινήσετε την <filename>/var</filename> στην
- άκρη. Τέλος, υπάρχει και θέμα ασφάλειας. Μία μικρή, προσεγμένη
- root κατάτμηση η οποία είναι διαβάζεται πιο συχνά από ότι γράφεται
- έχει μεγαλύτερη πιθανότητα να επιζήσει ενός άσχημου
- χτυπήματος.</para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 xml:id="configtuning-core-configuration">
- <title>Κύρια Ρύθμιση</title>
-
- <indexterm>
- <primary>rc files</primary>
- <secondary><filename>rc.conf</filename></secondary>
- </indexterm>
-
- <para>Η κύρια τοποθεσία των πληροφοριών για την ρύθμιση του συστήματος
- βρίσκεται μέσα στο <filename>/etc/rc.conf</filename>. Αυτό το αρχείο
- περιέχει ένα ευρύ φάσμα ρυθμίσεων, κυρίως χρησιμοποιούμενες στην
- εκκίνηση του συστήματος για την ρύθμιση του συστήματος. Το όνομα του
- απευθείας συνεπάγεται αυτό; είναι ρυθμίσεις για τα
- αρχεία <filename>rc*</filename>.</para>
-
- <para>Ένας διαχειριστής πρέπει να δημιουργήσει εγγραφές μέσα στο
- αρχείο <filename>rc.conf</filename> ώστε να αντικαταστήσει τις
- προεπιλεγμένες ρυθμίσεις απο το
- αρχείο <filename>/etc/defaults/rc.conf</filename>. Το αρχείο
- προεπιλογών δεν πρέπει να αντιγραφεί αυτολεξεί
- στο <filename>/etc</filename> - αυτό περιέχει προεπιλεγμένες τιμές, όχι
- παραδείγματα. Όλες οι αλλαγές που αφορούν το σύστημα πρέπει να γίνουν
- στο αρχείο <filename>rc.conf</filename> αποκλειστικά.</para>
-
- <para>Ένας αριθμός στρατηγικών μπορεί να εφαρμοστεί σε ένα σύνολο
- εφαρμογών για να ξεχωρίσουμε ρυθμίσεις του ευρύ συνόλου απο τις
- ρυθμίσεις επικεντρωμένες για ένα σύστημα για να κρατήσουμε τον φόρτο
- διαχείρισης χαμηλά. Η προτεινόμενη προσέγγιση είναι να τοποθετούμε τις
- ρυθμίσεις ευρύ συνόλου σε ένα διαφορετικό αρχείο, όπως
- το <filename>/etc/rc.conf.site</filename>, και τότε να συμπεριλάβουμε το
- αρχείο αυτό στο <filename>/etc/rc.conf</filename>, το οποίο θα περιέχει
- πληροφορίες επικεντρωμένες για ένα σύστημα.</para>
-
- <para>Μιάς και το <filename>rc.conf</filename> διαβάζεται απο το
- &man.sh.1; είναι εύκολο να το επιτύχουμε αυτό. Για παράδειγμα:</para>
-
- <itemizedlist>
- <listitem><para>rc.conf:</para>
-<programlisting> . /etc/rc.conf.site
- hostname="node15.example.com"
- network_interfaces="fxp0 lo0"
- ifconfig_fxp0="inet 10.1.1.1"</programlisting></listitem>
- <listitem><para>rc.conf.site:</para>
-<programlisting> defaultrouter="10.1.1.254"
- saver="daemon"
- blanktime="100"</programlisting></listitem>
- </itemizedlist>
-
- <para>Το αρχείο <filename>rc.conf.site</filename> μπορεί έπειτα να
- διανεμηθεί σε κάθε σύστημα χρησιμοποιώντας το <command>rsync</command> ή
- κάποιο παρόμοιο πρόγραμμα, ενώ το αρχείο <filename>rc.conf</filename>
- παραμένει μοναδικό.</para>
-
- <para>Αναβαθμίζοντας το σύστημα χρησιμοποιώντας &man.sysinstall.8;
- ή <command>make world</command> δεν θα αντικαταστήσει το
- αρχείο <filename>rc.conf</filename>, έτσι οι ρυθμίσεις δεν θα
- χαθούν.</para>
-
- </sect1>
-
- <sect1 xml:id="configtuning-appconfig">
- <title>Ρύθμιση Εφαρμογών</title>
-
- <para>Τυπικά, οι εγκατεστημένες εφαρμογές έχουν τα δικά τους αρχεία
- ρυθμίσεων, με το δικό τους τρόπο σύνταξης, κτλπ. Είναι σημαντικό αυτά
- τα αρχεία να κρατούνται ξεχωριστά απο το βασικό σύστημα, έτσι ώστε να
- είναι εύκολα εντοπίσιμα και διαχειρίσιμα απο τα εργαλεία διαχείρισης
- πακέτων.</para>
-
- <indexterm><primary>/usr/local/etc</primary></indexterm>
-
- <para>Τυπικά, αυτά τα αρχεία είναι εγκατεστημένα στο
- <filename>/usr/local/etc</filename>. Σε αυτή την περίπτωση όταν μία
- εφαρμογή έχει μεγάλο αριθμό αρχείων ρυθμίσεων, ένας υποκατάλογος
- δημιουργείται για να τα αποθηκεύσει.</para>
-
- <para>Κανονικά, όταν ένα port ή ένα package εγκαθιστάτε, παραδείγματα
- αρχείων ρυθμίσεων εγκαθιστάνται επίσης. Αυτά είναι συνήθως αναγνωρίσιμα
- απο την <filename>.default</filename> κατάληξη τους. Αν δεν υπάρχουν
- αρχεία ρυθμίσεων για την εφαρμογή, τότε θα δημιουργηθούν κάνοντας
- αντιγραφή τα <filename>.default</filename> αρχεία.</para>
-
- <para>Για παράδειγμα, έχετε υπόψη σας τα περιεχόμενα του
- καταλόγου <filename>/usr/local/etc/apache</filename>:</para>
-
-<literallayout class="monospaced">-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
--rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
--rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
--rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
--rw-r--r-- 1 root wheel 12205 May 20 1998 magic
--rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
--rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
--rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
--rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
--rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default</literallayout>
-
- <para>Τα μεγέθοι των αρχείων δείχνουν ότι μόνο το
- αρχείο <filename>srm.conf</filename> έχει αλλάξει. Μία μετέπειτα
- αναβάθμιση του port της εφαρμογής <application>Apache</application> δεν
- θα αντικαταστήσει το αλλαγμένο αρχείο.</para>
-
- </sect1>
-
- <sect1 xml:id="configtuning-starting-services">
- <info><title>Eκκινώντας Υπηρεσίες</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm><primary>services</primary></indexterm>
-
- <para>Πολλοί χρήστες επιλέγουν να εγκαταστήσουν λογισμικό απο τρίτους
- κατασκευαστές στο &os; απο την συλλογή των Ports. Σε πολλές απο αυτές
- τις περιπτώσεις μπορεί να είναι απαραίτητο να ρυθμίσουν το λογισμικό με
- τέτοιο τρόπο ώστε να μπορεί να επιτραπεί η εκκίνηση του κατα την
- εκκίνηση του συστήματος. Υπηρεσίες, όπως
- το <package>mail/postfix</package> ή
- το <package>www/apache13</package> είναι μόνο δύο απο
- τα πολλά πακέτα λογισμικού που μπορεί να χρειάζονται να εκκινηθούν κατά
- την εκκίνηση του συστήματος. Το μέρος αυτό θα εξηγήσει τις διαθέσιμες
- διαδικασίες για την εκκίνηση λογισμικού προερχόμενο απο τρίτους
- κατασκευαστές.</para>
-
- <para>Στο &os;, οι περισσότερες περιεχόμενες υπηρεσίες, όπως το
- &man.cron.8;, είναι εκκινήσιμες μέσα από τα σενάρια εκκίνησης του
- συστήματος. Τα σενάρια αυτά μπορεί να διαφέρουν ανάλογα το &os; ή την
- έκδοση του κατασκευαστή; ωστόσο, η πιο σημαντική πτυχή που πρέπει να
- εξεταστεί είναι ότι οι ρυθμίσεις εκκίνησης τους μπορούν να χειριστούν
- μέσα απο ένα απλό σενάριο εκκίνησης.</para>
-
- <para>Πριν την έλευση του <filename>rc.d</filename>, οι εφαρμογές
- μπορούσαν να τοποθετήσουν ένα απλό σενάριο εκκίνησης μέσα στον
- κατάλογο <filename>/usr/local/etc/rc.d</filename> ο
- οποίος μπορούσε να διαβαστεί απο τα σενάρια εκκίνησης του συστήματος.
- Αυτά τα σενάρια μπορούσαν να εκτελεστούν κατα τα μετέπειτα στάδια
- εκκίνησης του συστήματος.</para>
-
- <para>Ενώ πολλοί ιδιώτες ξόδευαν χρόνο προσπαθώντας να συνχωνεύσουν το
- παλιό στυλ ρυθμίσεων με το νέο στυλ, παραμένει γεγονός ότι μερικά
- προγράμματα ακόμα απαιτούν ένα σενάριο να τοποθετηθεί μέσα στον
- προαναφερθέντα κατάλογο. Οι λεπτές διαφορές ανάμεσα στα σενάρια
- εξαρτώνται από το αν ή όχι ο <filename>rc.d</filename> χρησιμοποιείτε.
- Προγενέστερα του &os;&nbsp;5.1 το παλιό στυλ ρυθμίσεων χρησιμοποιούνταν
- και σχεδόν σε όλες τις περιπτώσεις ένα νέου στυλ σενάριο θα είναι
- συμβατό.</para>
-
- <para>Ενώ κάθε σενάριο πρέπει να τηρεί ορισμένες ελάχιστες απαιτήσεις, τις
- περισσότερες φορές αυτές οι απαιτήσεις είναι ανεξάρτητες της έκδοσης του &os;.
- Κάθε σενάριο πρέπει να έχει μια <filename>.sh</filename>
- επέκταση προσαρτημένη στο τέλος του και κάθε σενάριο πρέπει να είναι
- εκτελέσιμο απο το σύστημα. Το δεύτερο μπορεί να επιτευχθεί χρησιμοποιώντας
- την <command>chmod</command> εντολή και ρυθμίζοντας την άδεια
- <literal>755</literal>. Εκεί πρέπει να υπάρχει, τουλάχιστον,
- μια επιλογή <literal>start</literal> και μία επιλογή
- <literal>stop</literal> για την εφαρμογή.</para>
-
- <para>Το πιο απλό σενάριο εκκίνησης πιθανότατα να
- μοιάζει με το παρακάτω:</para>
-
- <programlisting>#!/bin/sh
-echo -n ' utility'
-
-case "$1" in
-start)
- /usr/local/bin/utility
- ;;
-stop)
- kill -9 `cat /var/run/utility.pid`
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" &gt;&amp;2
- exit 64
- ;;
-esac
-
-exit 0</programlisting>
-
- <para>Το σενάριο αυτό παρέχει μια <literal>stop</literal> και μια
- <literal>start</literal> επιλογή για
- την εφαρμογή όπου στο παράδειγμα εδώ αναφέρεται σαν
- <literal>utility</literal>.</para>
-
- <para>Μπορεί να εκκινηθεί χειρωνακτικά κάνοντας:</para>
-
- <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/utility.sh start</userinput></screen>
-
- <para>Παρόλο που δεν απαιτούν όλες οι εφαρμογές να προστεθεί μία εγγραφή στο
- <filename>rc.conf</filename>, σχεδόν καθημερινά και ένα νέο port θα
- τροποποιήτε για να δέχεται αυτή την ρύθμιση. Ελέγξετε την τελική έξοδο
- της εγκατάστασης για περισσότερες πληροφορίες πάνω στην συγκεκριμένη
- εφαρμογή. Μερικές εφαρμογές απο τρίτους κατασκευαστές παρέχουν σενάρια
- εκκίνησης τα οποία επιτρέπουν στην εφαρμογή να χρησιμοποιηθεί με
- το <filename>rc.d</filename>, παρόλα αυτα, αυτό θα συζητηθεί στο επόμενο
- μέρος.</para>
-
- <sect2>
- <title>Εκτεταμένη Ρύθμιση Εφαρμογών</title>
-
- <para>Πλέον το &os; περιέχει το <filename>rc.d</filename>, η ρύθμιση της
- εκκίνησης των εφαρμογών έχει γίνει ευκολότερη, και πιο πλούσια σε
- χαρακτηρικά. Χρησιμοποιώντας λέξεις κλειδία μέσα στον
- κατάλογο <link linkend="configtuning-rcd">rc.d</link>, οι εφαρμογές
- μπορούν πλέον να εκκινούν έπειτα απο συγκεκριμένες υπηρεσίες για
- παράδειγμα την <acronym>DNS</acronym>, μπορεί να επιτραπεί η εισαγωγή
- επιπλέον παραμέτρων μέσα απο το <filename>rc.conf</filename> στην θέση
- των ήδη υπάρχoντον παραμέτρων απο τα σενάρια εκκινήσης, κτλπ. Ένα
- βασικό σενάριο μπορεί να μοιάζει με το ακόλουθο:</para>
-
- <programlisting>#!/bin/sh
-#
-# PROVIDE: utility
-# REQUIRE: DAEMON
-# KEYWORD: shutdown
-
-. /etc/rc.subr
-
-name=utility
-rcvar=utility_enable
-
-command="/usr/local/sbin/utility"
-
-load_rc_config $name
-
-#
-# DO NOT CHANGE THESE DEFAULT VALUES HERE
-# SET THEM IN THE /etc/rc.conf FILE
-#
-utility_enable=${utility_enable-"NO"}
-pidfile=${utility_pidfile-"/var/run/utility.pid"}
-
-run_rc_command "$1"</programlisting>
-
- <para>Το σενάριο αυτό θα εξασφαλίσει ότι το
- πρόγραμμα <application>utility</application> θα εκκινηθεί μετά απο
- την <literal>daemon</literal> υπηρεσία. Θα εξασφαλίσει επιπλέον έναν
- τρόπο για την ρύθμιση και τον εντοπισμό του <acronym>PID</acronym>, ή
- του αρχείου του <acronym>ID</acronym> της διεργασίας.</para>
-
- <para>Η εφαρμογή μπορεί πλέον να έχει την παρακάτω γραμμή τοποθετημένη
- στο <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>utility_enable="YES"</programlisting>
-
- <para>Ο νέος αυτός τρόπος επιτρέπει επιπλέον τον ευκολότερο χειρισμό των
- παραμέτρων της γραμμής εντολών, σε συνδυασμό με τις προυπάρχουσες
- λειτουργίες παρεχόμενες απο το <filename>/etc/rc.subr</filename>, τη
- συμβατότητα με το βοηθητικό πρόγραμμα &man.rcorder.8; και επιπλέον την
- ευκολότερη ρύθμιση μέσω του <filename>rc.conf</filename>
- αρχείου.</para>
- </sect2>
-
- <sect2>
- <title>Χρησιμοποιώντας Υπηρεσίες Για Την Εκκίνηση Υπηρεσιών</title>
-
- <para>Άλλες υπηρεσίες, όπως ο δαίμονας του
- εξυπηρετή <acronym>POP</acronym>3, <acronym>IMAP</acronym>,
- κτλπ. μπορούν να εκκινηθούν χρησιμοποιώντας το &man.inetd.8;. Αυτό
- απαιτεί την εγκατάσταση του βοηθητικού προγράμματος υπηρεσιών απο την
- Ports συλλογή και μια γραμμή ρυθμίσεων προσαρτημένη στο
- αρχείο <filename>/etc/inetd.conf</filename>, ή αποχαρακτηρίζοντας μια
- απο τις ήδη υπάρχουσες γραμμές ρυθμίσεων. Δουλεύοντας με
- το <application>inetd</application> και τις ρυθμίσεις του περιγράφεται
- αναλυτικά στο μέρος <link linkend="network-inetd">inetd</link>.</para>
-
- <para>Σε πολλές περιπτώσεις, είναι εύλογο να χρησιμοποιείτε ο δαίμονας
- &man.cron.8; για την εκκίνηση των υπηρεσιών του συστήματος. Η
- προσέγγιση αυτή έχει έναν αριθμό πλεονεκτημάτων γιατί
- το <command>cron</command> τρέχει τις διεργασίες σαν ιδιοκτήτης
- του <filename>crontab</filename> αρχείου. Αυτό επιτρέπει στους
- κανονικούς χρήστες να εκκινούν και να διαχειρίζονται μερικές
- εφαρμογές.</para>
-
- <para>Το βοηθητικό πρόγραμμα <command>cron</command> παρέχει ένα
- μοναδικό χαρακτηριστικό, το <literal>@reboot</literal>, το οποίο
- μπορεί να χρησιμοποιηθεί στην θέση του χρονικού ορισμού. Αυτό θα
- κάνει την εργασία να τρέξει όταν το &man.cron.8; εκκινηθεί, συνήθως
- κατά την εκκίνηση του συστήματος.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="configtuning-cron">
- <info><title>Ρυθμίζοντας Το Πρόγραμμα <command>cron</command></title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
- <indexterm><primary>cron</primary>
- <secondary>configuration</secondary></indexterm>
-
- <para>Ένα απο τα πιο χρήσιμα βοηθητικά προγράμματα στο &os; είναι το
- &man.cron.8;. Το πρόγραμμα <command>cron</command> τρέχει στο
- παρασκήνιο και συνεχώς ελέγχει το
- αρχείο <filename>/etc/crontab</filename>. Το <command>cron</command>
- ελέγχει επίσης τον κατάλογο <filename>/var/cron/tabs</filename>,
- αναζητώντας καινούργια αρχεία <filename>crontab</filename>. Τα
- αρχεία <filename>crontab</filename> έχουν αποθηκευμένες πληροφορίες για
- συγκεκριμένες διαδικασίες τις οποίες το <command>cron</command> πρέπει
- να εκτελέσει σε συγκεκριμένο χρόνο.</para>
-
- <para>Το <command>cron</command> χρησιμοποιεί δύο διαφορετικούς τύπους
- αρχείων ρυθμίσεων, το crontab του συστήματος και το crontab των χρηστών.
- Η μόνη διαφορά ανάμεσα στους δύο αυτούς τύπους είναι το έκτο πεδίο. Στο
- crontab του συστήματος, το έκτο πεδίο είναι το όνομα του χρήστη με του
- οποίου θα εκτελεστεί η εντολή. Αυτό δίνει την δυνατότητα στο crontab του
- συστήματος να εκτελεί εντολές σαν οποιοδήποτε χρήστης. Στο crontab των
- χρηστών, το έκτο πεδίο είναι η εντολή που πρέπει να εκτελεστεί, και όλες
- οι εντολές εκτελούνται στο όνομα του χρήστη που δημιούργησε το crontab;
- αυτό είναι ένα σημαντικό χαρακτηριστικό ασφαλείας.</para>
-
- <note>
- <para>Τα crontabs των χρηστών επιτρέπουν σε μεμονωμένους χρήστες να
- προγραμματίσουν εργρασίες χωρίς την ανάγκη <systemitem class="username">root</systemitem>
- δικαιωμάτον. Οι εντολές μέσα στο crontab ενός χρήστη τρέχουν με τα
- δικαιώματα του χρήστη του οποίου ανήκει το crontab.</para>
-
- <para>Ο χρήστης <systemitem class="username">root</systemitem> μπορεί να έχει ένα crontab
- χρήστη ακριβώς όπως κάθε χρήστης. Αυτό είναι διαφορετικό απο
- το <filename>/etc/crontab</filename> (το crontab του συστήματος). Λόγο
- του crontab του συστήματος, δεν υπάρχει συνήθως καμία ανάγκη για την
- δημιουργία ενός ξεχωριστού crontab για τον
- χρήστη <systemitem class="username">root</systemitem>.</para>
- </note>
-
- <para>Ας ρίξουμε μια ματία στο αρχείο <filename>/etc/crontab</filename>
- (το crontab του συστήματος):</para>
-
-
- <programlisting># /etc/crontab - root's crontab for &os;
-#
-# &dollar;&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp &dollar;
-# <co xml:id="co-comments"/>
-#
-SHELL=/bin/sh
-PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co xml:id="co-env"/>
-HOME=/var/log
-#
-#
-#minute hour mday month wday who command <co xml:id="co-field-descr"/>
-#
-#
-*/5 * * * * root /usr/libexec/atrun <co xml:id="co-main"/>
-</programlisting>
-
- <calloutlist>
- <callout arearefs="co-comments">
- <para>Όπως στα περισσότερα αρχεία ρυθμίσεων στο &os;, ο
- χαρακτήρας <literal>#</literal> παριστάνει ένα σχόλιο. Ένα σχόλιο
- μπορεί να τοποθετηθεί μέσα στο αρχείο σαν υπενθύμιση για το τι
- πραγματοποιεί και γιατί μία ενέργεια. Τα σχόλια δεν μπορούν να
- είναι στην ίδια γραμμή με μία εντολή γιατί αλλιώς θα ερμηνευτούν σαν
- κομμάτι της εντολής; πρέπει να είναι σε μία νέα γραμμή. Οι κενές
- γραμμές αγνοούνται.</para>
- </callout>
-
- <callout arearefs="co-env">
- <para>Καταρχήν, πρέπει να καθοριστεί το περιβάλλον. Ο χαρακτήρας ίσον
- (<literal>=</literal>) χρησιμοποιείτε για να καθορίσει τις ρυθμίσεις
- του περιβάλλοντος, όπως σε αυτό το παράδειγμα που χρησιμοποιούνται
- οι μεταβλητές <envar>SHELL</envar>, <envar>PATH</envar>,
- και <envar>HOME</envar>. Αν η γραμμή του κέλυφους παραμεληθεί,
- το <command>cron</command> θα χρησιμοποιήσει την προεπιλεγμένη, οι
- οποία είναι η <command>sh</command>. Αν η
- μεταβλητή <envar>PATH</envar> παραμεληθεί, δεν θα χρησιμοποιηθεί
- προεπιλεγμένη και η τοποθεσίες των αρχείων θα πρέπει να καθοριστούν
- με ακρίβεια. Αν η <envar>HOME</envar> παραμεληθεί,
- το <command>cron</command> θα χρησιμοποιήσει τον κεντρικό κατάλογο
- των εκάστοτε χρηστών.</para>
- </callout>
-
- <callout arearefs="co-field-descr">
- <para>Η γραμμή αυτή καθορίζει συνολικά επτά πεδία. Τα πεδία αυτά
- είναι τα <literal>minute</literal>, <literal>hour</literal>,
- <literal>mday</literal>, <literal>month</literal>,
- <literal>wday</literal>, <literal>who</literal>,
- και <literal>command</literal>. Αυτά είναι απο μόνα τους
- επεξηγηματικά. Το πεδίο <literal>minute</literal> είναι ο χρόνος σε
- λεπτά τον οποίον η εντολή θα εκτελεστεί. Το
- πεδίο <literal>hour</literal> είναι παρόμοιο με το πεδίο
- <literal>minute</literal>, απλά είναι σε ώρες. Το
- πεδίο <literal>mday</literal> καθορίζει την ημέρα του μήνα. Το
- πεδίο <literal>month</literal> είναι παρόμοιο με το
- πεδίο <literal>hour</literal> και το
- πεδίο <literal>minute</literal>, υποδεικνύοντας τον μήνα. Το
- πεδίο <literal>wday</literal> καθορίζει την ημέρα της εβδομάδας.
- Όλα αυτά τα πεδία πρέπει να έχουν αριθμητικές τιμές, και να
- ακολουθούν το είκοσι-τετράωρο ρολόι. Το
- πεδίο <literal>who</literal> είναι ιδιαίτερο, και υπάρχει μόνο μέσα
- στο αρχείο <filename>/etc/crontab</filename>. Το πεδίο αυτό
- καθορίζει σαν ποιός χρήστης θα τρέξει την εντολή. Όταν ένας χρήστης
- εγκαθιστά το <filename>crontab</filename> αρχείο του, δεν θα έχει το
- πεδίο αυτό διαθέσιμο. Τέλος, θα ακολουθήσει η
- επιλογή <literal>command</literal>. Αυτό είναι το τελευταίο πεδίο,
- έτσι και λογικά υποδεικνύει την εντολή που θα εκτελεστεί.</para>
- </callout>
-
- <callout arearefs="co-main">
- <para>Η τελευταία αυτή γραμμή θα καθορίσει τα μεγέθοι που συζητήθηκαν
- παραπάνω. Προσέξτε εδώ ότι έχουμε έναν
- ορισμό <literal>*/5</literal>, ακολουθούμενο απο αρκετούς
- χαρακτήρες <literal>*</literal>. Οι χαρακτήρες <literal>*</literal>
- σημαίνουν <quote>πρώτο-τελευταίο</quote>, και μπορούν να ερμηνευθούν
- σαν <emphasis>κάθε</emphasis> φορά. Έτσι, κρίνοντας απο αυτή την
- γραμμή, είναι προφανές ότι η εντολή <command>atrun</command>
- επικαλείται απο τον χρήστη <systemitem class="username">root</systemitem> κάθε πέντε
- λεπτά ανεξάρτητα απο την ημέρα και τον μήνα. Για περισσότερες
- πληροφορίες σχετικά με την εντολή <command>atrun</command>, κοιτάξτε
- την σελίδα βοηθείας &man.atrun.8;.</para>
-
- <para>Οι εντολές μπορούν να έχουν απεριόριστο αριθμό παραμέτρων,
- ωστόσο, οι εντολές με εκτεταμένο αριθμό γραμμών πρέπει να
- διασπαστούν με τον χαρακτήρα συνέχειας αντίθετης
- καθέτου <quote>\</quote>.</para>
- </callout>
- </calloutlist>
-
- <para>Αυτές είναι οι βασικές ρυθμίσεις για κάθε
- αρχείο <filename>crontab</filename>, ωστόσο υπάρχει και κάτι
- διαφορετικό. Το πεδίο έξι, όπου και καθορίζουμε το όνομα χρήστη,
- υπάρχει μόνο στο αρχείο του
- συστήματος <filename>/etc/crontab</filename>. Το πεδίο αυτό πρέπει να
- παραλειφθεί για κάθε <filename>crontab</filename> αρχείο χρήστη.</para>
-
-
- <sect2 xml:id="configtuning-installcrontab">
- <title>Εγκαθιστώντας Ένα Crontab</title>
-
- <important>
- <para>Δεν θα πρέπει να χρησιμοποιήσετε την διαδικασία που περιγράφεται
- εδώ για την διόρθωση/εγκατάσταση του crontab του συστήματος. Απλά
- χρησιμοποιήστε τον αγαπημένο σας κειμενογράφο:
- το <command>cron</command> θα εντοπίσει ότι το αρχείο έχει
- τροποποιηθεί και θα αρχίσει άμεσα να χρησιμοποιεί την ανανεωμένη
- έκδοση του.
- Δείτε <link xlink:href="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">αυτή
- την εγγραφή του FAQ </link> για περισσότερες πληροφορίες.</para>
- </important>
-
- <para>Για να εγκαταστήσετε ένα νέο <filename>crontab</filename> χρήστη,
- πρώτα χρησιμοποιήστε τον αγαπημένο σας κειμενογράφο για να
- δημιουργήσετε ένα αρχείο με το απαιτούμενο τύπο, και τότε
- χρησιμοποιήστε το <command>crontab</command>. Η πιο κοινή χρήση του
- είναι:</para>
-
- <screen>&prompt.user; <userinput>crontab crontab-file</userinput></screen>
-
- <para>Στο παράδειγμα αυτό, το αρχείο <filename>crontab-file</filename>
- είναι το όνομα του αρχείου <filename>crontab</filename> που είχε
- δημιουργηθεί προηγουμένως.</para>
-
- <para>Υπάρχει επίσης μία επιλογή για να απαριθμήσετε τα εγκατεστημένα
- αρχεία <filename>crontab</filename>: απλά εισάγετε την
- επιλογή <option>-l</option> στην εντολή <command>crontab</command> και
- ελέγξτε το αποτέλεσμα.</para>
-
- <para>Για τους χρήστες που θέλουν να αρχίσουν το crontab αρχείο τους απο
- την αρχή, χωρίς την χρήση προτύπου, μπορούν να χρησιμοποιήσουν την
- εντολή <command>crontab -e</command>. Αυτή η εντολή θα ξεκινήσει τον
- κειμενογράφο με ένα κενό αρχείο. Όταν το αρχείο αποθηκευθεί, θα
- εγκατασταθεί αυτόματα απο την
- εντολή <command>crontab</command>.</para>
-
- <para>Αν αργότερα θέλετε να διαγράψετε το <filename>crontab</filename>
- αρχείο χρήστη τελείως, χρησιμοποιήστε την
- εντολή <command>crontab</command> μαζί με την
- επιλογή <option>-r</option>.
- </para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="configtuning-rcd">
- <info><title>Χρησιμοποιώντας Το Σύστημα rc Στο &os;</title>
- <authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <para>Το 2002 το &os; ενσωμάτωσε το σύστημα <filename>rc.d</filename> του
- NetBSD για την εκκίνηση του συστήματος. Οι χρήστες θα πρέπει να έχουν
- αντιληφθεί τα αρχεία που βρίσκονται στον
- κατάλογο <filename>/etc/rc.d</filename>. Πολλά απο αυτά τα αρχεία είναι
- για τις βασικές υπηρεσίες και μπορούν να ελεγθούν με τις
- επιλογές <option>start</option>, <option>stop</option>,
- και <option>restart</option>. Για παράδειγμα, το &man.sshd.8; μπορεί να
- ελεγθεί χρησιμοποιώντας την εξής εντολή:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sshd restart</userinput></screen>
-
- <para>Η διαδικασία αυτή είναι παρόμοια και για τις υπόλοιπες υπηρεσίες.
- Φυσικά, οι υπηρεσίες αυτές είναι συνήθως αυτόματα εκκινήσιμες κατα την
- εκκίνηση του συστήματος όπως και καθορίζεται στο &man.rc.conf.5;. Για
- παράδειγμα, ενεργοποιώντας τον δαίμονα Network Address Translation στην
- εκκίνηση είναι τόσο απλό όσο κάνοντας προσθήκη της ακόλουθης γραμμής
- στο <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>natd_enable="YES"</programlisting>
-
- <para>Αν η επιλογή <option>natd_enable="NO"</option> είναι ήδη παρούσα,
- τότε απλά αλλάζετε την επιλογή <option>NO</option>
- σε <option>YES</option>. Τα σενάρια rc θα φορτώσουν αυτόματα
- οποιαδήποτε εξαρτώμενη υπηρεσία κατά την διάρκεια της επόμενης
- εκκίνησης, όπως και περιγράφεται παρακάτω.</para>
-
- <para>Μιας και το σύστημα <filename>rc.d</filename> είναι κυρίως για την
- εκκίνηση και τον τερματισμό υπηρεσιών κατα την εκκίνηση και τον
- τερματισμό του συστήματος αντίστοιχα, οι προκαθορισμένες
- επιλογές <option>start</option>, <option>stop</option>
- και <option>restart</option> θα πραγματοποιήσουν τις αντίστοιχες
- ενέργειες αν η κατάλληλες μεταβλητές είναι καθορισμένες
- στο <filename>/etc/rc.conf</filename>. Για παράδειγμα η παραπάνω
- εντολή <command>sshd restart</command> θα δουλέψει μόνο αν η
- μεταβλητή <varname>sshd_enable</varname> έχει τεθεί σε
- <option>YES</option> μέσα στο <filename>/etc/rc.conf</filename>. Για να
- εκτελέσετε τις επιλογές <option>start</option>, <option>stop</option>
- ή <option>restart</option> μιας υπηρεσίας ανεξάρτητα απο τις ρυθμίσεις
- της στο <filename>/etc/rc.conf</filename>, η εντολή πρέπει να έχει
- χαρακτηριστεί με <quote>one</quote>. Για παράδειγμα για την
- επανεκκίνηση του <command>sshd</command> ανεξάρτητα απο τις τρέχουσες
- ρυθμίσεις στο <filename>/etc/rc.conf</filename>, εκτελείτε την ακόλουθη
- εντολή:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sshd onerestart</userinput></screen>
-
- <para>Είναι εύκολο να ελέγξετε αν η υπηρεσία είναι ενεργοποιημένη
- στο <filename>/etc/rc.conf</filename> τρέχοντας το κατάλληλο
- σενάριο <filename>rc.d</filename> με την
- παράμετρο <option>rcvar</option>. Κατά συνέπεια, ένας διαχειριστής
- μπορεί να ελέγξει αν το <command>sshd</command> είναι όντως
- ενεργοποιημένο στο <filename>/etc/rc.conf</filename> εκτελώντας:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sshd rcvar</userinput>
-# sshd
-$sshd_enable=YES</screen>
-
- <note>
- <para>Η δεύτερη γραμμή (<literal># sshd</literal>) είναι η έξοδος της
- εντολής <command>sshd</command>, και όχι η κονσολά του
- χρήστη <systemitem class="username">root</systemitem>.</para>
- </note>
-
- <para>Για να ελέγξετε αν μια υπηρεσία τρέχει, η
- επιλογή <option>status</option> είναι διαθέσιμη. Για παράδειγμα για να
- επιβεβαιώστε ότι η υπηρεσία <command>sshd</command> τρέχει:</para>
-
- <screen>&prompt.root; <userinput>/etc/rc.d/sshd status</userinput> sshd is
- running as pid 433.</screen>
-
- <para>Σε πολλές περιπτώσεις είναι δυνατόν το <option>reload</option> μίας
- υπηρεσίας. Αυτό θα στείλει ένα σήμα στην υπηρεσία, επιβάλλοντας της να
- ξαναφορτώσει τα αρχεία ρυθμίσεων της. Στην πραγματικότητα αυτό σημαίνει
- ότι θα στείλει ένα σήμα <literal>SIGHUP</literal> στην υπηρεσία. Η
- υποστήριξη για αυτό το χαρακτηριστικό δεν παρέχεται σε κάθε
- υπηρεσία.</para>
-
- <para>Το σύστημα <filename>rc.d</filename> δεν χρησιμοποιείτε μόνο για τις
- υπηρεσίες δικτύου, αλλά επίσης συμβάλει και κατα την εκκίνηση του
- συστήματος. Για παράδειγμα, σκεφτείτε το
- αρχείο <filename>bgfsck</filename>. Όταν ένα σενάριο εκτελείτε, θα
- εκτυπώνει το ακόλουθο μήνυμα:</para>
-
- <screen>Starting background file system checks in 60 seconds.</screen>
-
- <para>Επομένος το αρχείο αυτό χρησιμοποιείτε στο παρασκήνιο για τον έλεγχο
- του συστήματος αρχείων, ο οποίος και συμβαίνει κατα στην εκκίνηση του
- συστήματος.</para>
-
- <para>Πολλές υπηρεσίες εξαρτώνται από άλλες υπηρεσίες για να τα καταφέρουν
- να λειτουργήσουν σωστά. Για παράδειγμα, η υπηρεσία NIS και άλλες
- βασισμένες στο RPC υπηρεσίες θα αποτύχουν να εκκινηθούν αν η
- υπηρεσία <command>rpcbind</command> (portmapper) δεν έχει ήδη εκκινηθεί.
- Για να λύθει το πρόβλημα αυτό, υπάρχουν πληροφορίες για τις εξαρτήσεις
- και άλλα μετα-δεδομένα μέσα στα σχόλια στην αρχή κάθε σεναρίου. Το
- πρόγραμμα &man.rcorder.8; χρησιμοποιείτε για την ανάλυση των σχολίων
- αυτών κατά την εκκίνηση του συστήματος για να καθορίστει με ποιά σειρά
- θα πρέπει να εκκινηθούν οι υπηρεσίες ώστε να εκπληρωθούν οι εξαρτήσεις.
- Οι επόμενες προτάσεις μπορούν να περιληφθούν μέσα σε κάθε αρχείο
- εκκίνησης:</para>
-
- <itemizedlist>
- <listitem>
- <para><literal>PROVIDE</literal>: Καθόριζει την υπηρεσία που παρέχει
- το αρχείο αυτό.</para>
- </listitem>
-
- <listitem>
- <para><literal>REQUIRE</literal>: Απαριθμεί τις υπηρεσίες που
- απαιτούνται για την την υπηρεσία αυτή. Το αρχείο αυτό θα
- εκτελεστεί <emphasis>μετά</emphasis> απο την καθορισμένη
- υπηρεσία.</para>
- </listitem>
-
- <listitem>
- <para><literal>BEFORE</literal>: Απαριθμεί τις υπηρεσίες οι οποίες
- εξαρτώνται απο την υπηρεσία αυτή. Το αρχείο αυτό θα
- εκτελεστεί <emphasis>πρίν</emphasis> τις καθορισμένες
- υπηρεσίες.</para>
- </listitem>
- </itemizedlist>
-
- <para>Χρησιμοποιώντας την μέθοδο αυτή, οι διαχειριστές μπορούν εύκολα να
- ελέγξουν τις υπηρεσίες του συστήματος χωρίς τα
- δυσνόητα <quote>runlevels</quote> όπως σε μερικά άλλα λειτουργικά
- συστήματα &unix;.</para>
-
- <para>Επιπλέον πληροφορίες για το σύστημα <filename>rc.d</filename>
- μπορούν να βρεθούν στις σελίδες βοηθείας &man.rc.8; και &man.rc.subr.8;.
- Αν ενδιαφέρεστε για την εγγραφή δικών σας
- σεναρίων <filename>rc.d</filename> ή για την βελτίωση των ήδη
- υπάρχοντων, θα βρείτε <link xlink:href="&url.articles.rc-scripting;">τον
- σύνδεσμο αυτόν</link> αρκετά χρήσιμο.</para>
- </sect1>
-
- <sect1 xml:id="config-network-setup">
- <info><title>Ρυθμίζοντας Τις Κάρτες Δικτύου</title>
- <authorgroup>
- <author><personname><firstname>Marc</firstname><surname>Fonvieille</surname></personname><contrib>Contributed by </contrib></author>
- </authorgroup>
- </info>
-
-
-
- <indexterm>
- <primary>network cards</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Την σήμερον εποχή δεν μπορούμε να σκεφτούμε έναν υπολογιστή χωρίς να
- σκεφτούμε και μία σύνδεση δικτύου. Προσθέτοντας και ρυθμίζοντας μια
- κάρτα δικτύου είναι μία συνηθισμένη εργασία για έναν οποιοδήποτε
- διαχειριστή του &os;.</para>
-
- <sect2>
- <title>Εντοπίζοντας Τον Σωστό Οδηγό</title>
-
- <indexterm>
- <primary>network cards</primary>
- <secondary>driver</secondary>
- </indexterm>
-
- <para>Πριν αρχίσετε, θα πρέπει να γνωρίζετε το μοντέλο της κάρτας που
- έχετε, ποιό chip χρησιμοποιεί, και αν είναι PCI ή ISA κάρτα. Το &os;
- υποστηρίζει ένα μεγάλο εύρος καρτών PCI και ISA. Ελέγξτε την Λίστα
- Συμβατότητας Υλικού για την έκδοση σας για να δείτε αν η κάρτα σας
- υποστηρίζεται.</para>
-
- <para>Εφόσον είστε πλέον σίγουρος ότι η κάρτα σας υποστηρίζεται, θα
- χρειαστεί να καθορίσετε τον κατάλληλο οδηγό για την κάρτα σας. Το
- αρχείο <filename>/usr/src/sys/conf/NOTES</filename> και το
- αρχείο <filename>/usr/src/sys/arch/conf/NOTES</filename>
- θα σας δώσουν μια λίστα με κάρτες δικτύου και μερικές πληροφορίες για
- τα υποστηριζόμενα chipsets και τις υποστηριζόμενες κάρτες. Αν έχετε
- αμφιβολίες για το ποιός οδηγός είναι ο σωστός, διαβάστε την σελίδα
- βοηθείας του οδηγού. Η σελίδα βοηθείας θα σας δώσει περισσότερες
- πληροφορίες σχετικά με το υποστηριζόμενο υλικό και ακόμα και για τα
- πιθανά προβλήματα που μπορεί να προκύψουν.</para>
-
- <para>Αν έχετε μια συνηθισμένη κάρτα, κατα πάσα πιθανότητα δεν θα
- χρειαστεί να ψάξετε πολύ για τον οδηγό. Οι οδηγοί για τις
- συνηθισμένες κάρτες δικτύου υπάρχουν στον
- πυρήνα <filename>GENERIC</filename>, έτσι ώστε και θα εμφανιστεί κατα
- την διάρκεια της εκκίνησης, για παράδειγμα:</para>
-
-<screen>dc0: &lt;82c169 PNIC 10/100BaseTX&gt; port 0xa000-0xa0ff mem 0xd3800000-0xd38
-000ff irq 15 at device 11.0 on pci0
-dc0: Ethernet address: 00:a0:cc:da:da:da
-miibus0: &lt;MII bus&gt; on dc0
-ukphy0: &lt;Generic IEEE 802.3u media interface&gt; on miibus0
-ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
-dc1: &lt;82c169 PNIC 10/100BaseTX&gt; port 0x9800-0x98ff mem 0xd3000000-0xd30
-000ff irq 11 at device 12.0 on pci0
-dc1: Ethernet address: 00:a0:cc:da:da:db
-miibus1: &lt;MII bus&gt; on dc1
-ukphy1: &lt;Generic IEEE 802.3u media interface&gt; on miibus1
-ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto</screen>
-
- <para>Στο παράδειγμα αυτό, βλέπουμε ότι δύο κάρτες που χρησιμοποιούν τον
- οδηγό &man.dc.4; έχουν εντοπιστεί στο σύστημα.</para>
-
- <para>Αν ο οδηγός της NIC σας δεν είναι παρόν
- στον <filename>GENERIC</filename>, θα πρέπει να φορτώσετε τον
- κατάλληλο οδηγό για να χρησιμοποιήσετε την NIC σας. Αυτό μπορεί να
- επιτευχθεί με έναν απο τους δύο αυτούς τρόπους:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ο ποιό εύκολο τρόπος είναι απλά να φορτώσετε ένα άρθρωμα του
- πυρήνα για την κάρτα δικτύου σας με το &man.kldload.8;, ή αυτόματα
- κατα την εκκίνηση προσθέτοντας την κατάλληλη γραμμή στο
- αρχείο <filename>/boot/loader.conf</filename>. Δεν είναι όλοι οι
- οδηγοί NIC διαθέσιμοι σαν αρθρώματα, χαρακτηριστικά παραδείγματα
- είναι τα αρθρώματα για συσκευές ISA.</para>
- </listitem>
-
- <listitem>
- <para>Εναλλακτικά, μπορείτε να μεταγλώττισετε στατικά την υποστήριξη
- για την κάρτα σας στον πυρήνα. Ελέγξετε το
- αρχείο <filename>/usr/src/sys/conf/NOTES</filename>,
- το <filename>/usr/src/sys/arch/conf/NOTES</filename>
- και την σελίδα βοηθείας του οδηγού για να μάθετε τι πρέπει να
- προσθέσετε στο αρχείο ρυθμίσεων του πυρήνα. Για περισσότερες
- πληροφορίες για το πως να μεταγλωττίσετε τον πυρήνα, παρακαλώ
- διαβάστε το <xref linkend="kernelconfig"/>. Αν η κάρτα σας
- εντοπιστεί κατα την εκκίνηση απο τον πυρήνα
- (<filename>GENERIC</filename>) δεν χρειάζετε να μεταγλώττισετε
- έναν νέο πυρήνα.</para>
- </listitem>
- </itemizedlist>
-
- <sect3 xml:id="config-network-ndis">
- <title>Χρησιμοποιώντας Οδηγούς &windows; Με Το NDIS</title>
-
- <indexterm><primary>NDIS</primary></indexterm>
- <indexterm><primary>NDISulator</primary></indexterm>
- <indexterm><primary>&windows; drivers</primary></indexterm>
- <indexterm><primary>Microsoft Windows</primary></indexterm>
- <indexterm><primary>Microsoft Windows</primary>
- <secondary>device drivers</secondary></indexterm>
- <indexterm><primary>KLD (kernel loadable
- object)</primary></indexterm>
-<!-- We should probably omit the expanded name, and add a <see> entry
-for it. Whatever is done must also be done to the same indexterm in
-linuxemu/chapter.xml -->
-
- <para>Δυστυχώς, υπάρχουν ακόμα πολλοί κατασκευαστές που δεν παρέχουν
- τεχνικές προδιαγραφές για τους οδηγούς τους στην κοινότητα του
- ανοικτού λογισμικού γιατί αντιμετωπίζουν τέτοιες πληροφορίες σαν
- μυστικά του εμπορίου. Συνεπώς, οι υπεύθυνοι για την ανάπτυξη του
- &os; και άλλων λειτουργικών συστημάτων μένουν με δύο επιλογές: να
- αναπτύξουν οδηγούς με την μακρά και επίπονη διαδικασία της
- αντίστροφης μηχανικής ή να χρησιμοποιήσουν ήδη υπάρχοντες οδηγούς σε
- δυαδική μορφή διαθέσιμους για την πλατφόρμα &microsoft.windows;. Οι
- περισσότεροι υπεύθυνοι για την ανάπτυξη, μεταξύ τους και αυτοί που
- εμπλέκονται με το &os;, έχουν επιλέξει την δεύτερη
- προσέγγιση.</para>
-
- <para>Χάρη την προσφορά του Bill Paul (wpaul), μιάς και απο το
- &os;&nbsp;5.3-RELEASE υπάρχει <quote>γηγενής</quote> υποστήριξη για
- το Network Driver Interface Specification (NDIS). Το έργο &os;
- NDISulator (διαφορετικά γνωστό σας Project Evil) παίρνει έναν οδηγό
- &windows; σε δυαδική μορφή και στην ουσία τον εξαπατά ώστε να
- νομίζει ότι τρέχει σε &windows;. Λόγο του ότι ο οδηγός &man.ndis.4;
- χρησιμοποιεί μία &windows; δυαδική μορφή, μπορεί να χρησιμοποιηθεί
- μόνο σε &i386; και amd64 συστήματα.</para>
-
- <note>
- <para>Ο οδηγός &man.ndis.4; είναι σχεδιασμένος ώστε να υποστηρίζει
- κυρίως συσκευές PCI, CardBus και PCMCIA, οι συσκευές USB δεν
- υποστηρίζονται ακόμα.</para>
- </note>
-
- <para>Για να χρησιμοποιήσετε τον NDISulator, θα χρειαστείτε τρία
- πράγματα:</para>
-
- <orderedlist>
- <listitem>
- <para>Τον πηγαίο κώδικα του πυρήνα</para>
- </listitem>
- <listitem>
- <para>Την &windowsxp; δυαδική μορφή του οδηγού
- (<filename>.SYS</filename> επέκταση)</para>
- </listitem>
- <listitem>
- <para>Το &windowsxp; αρχείο ρυθμίσεων του οδηγού
- (<filename>.INF</filename> επέκταση)</para>
- </listitem>
- </orderedlist>
-
- <para>Εντοπίστε τα αρχεία αυτά για την κάρτα σας. Γενικά, αυτά
- μπορούν να βρεθούν στα παρεχόμενα CDs ή στους ιστότοπους των
- κατασκευαστών. Στα ακόλουθα παραδείγματα, θα χρησιμοποιήσουμε τα
- αρχεία <filename>W32DRIVER.SYS</filename>
- και <filename>W32DRIVER.INF</filename>.</para>
-
- <note>
- <para>Δεν μπορείτε να χρησιμοποιήσετε οδηγούς &windows;/i386 σε
- συστήματα &os;/amd64, θα πρέπει να βρείτε οδηγούς &windows;/amd64
- για να δουλέψουν σωστά.</para>
- </note>
-
- <para>Το επόμενο βήμα είναι να μεταγλωττίσετε τον δυαδικό οδηγό μέσα
- σε ένα φορτώσιμο άρθρωμα του πυρήνα. Για να το επιτύχετε αυτό, θα
- πρέπει σαν <systemitem class="username">root</systemitem>, να χρησιμοποιήσετε το
- &man.ndisgen.8;:</para>
-
- <screen>&prompt.root; <userinput>ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS</userinput></screen>
-
- <para>Το βοηθητικό πρόγραμμα &man.ndisgen.8; είναι διαδραστικό και θα
- σας ενημερώσει για οποιαδήποτε επιπλέον πληροφορία μπορεί να
- χρειαστεί; θα παράγει ένα άρθρωμα του πυρήνα στον τρέχωντα κατάλογο
- και μπορεί να φορτωθεί ως εξής:</para>
-
- <screen>&prompt.root; <userinput>kldload ./W32DRIVER.ko</userinput></screen>
-
- <para>Επιπλέον του παραχθέντος αρθρώματος, θα πρέπει να φορτώσετε τα
- αρθρώματα <filename>ndis.ko</filename>
- και <filename>if_ndis.ko</filename>. Αυτό θα πρέπει να γίνει
- αυτόματα όταν φορτώνετε οποιαδήποτε εξαρτάται απο το &man.ndis.4;.
- Αν θέλετε να το κάνετε χειρωνακτικά, θα πρέπει να χρησιμοποιήσετε
- τις ακόλουθες εντολές:</para>
-
- <screen>&prompt.root; <userinput>kldload ndis</userinput>
-&prompt.root; <userinput>kldload if_ndis</userinput></screen>
-
- <para>Η πρώτη εντολή φορτώνει τον οδηγό NDIS miniport wrapper, ενώ η
- δεύτερη φορτώνει την πραγματική κάρτα δικτύου.</para>
-
- <para>Τώρα, ελέγξτε το &man.dmesg.8; για να δείτε αν υπάρχουν σφάλματα
- κατα την φόρτωση. Αν όλα πήγαν καλά, θα πρέπει να δείτε μια
- παρόμοια έξοδο με την επόμενη:</para>
-
- <screen>ndis0: &lt;Wireless-G PCI Adapter&gt; mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
-ndis0: NDIS API version: 5.0
-ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
-ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
-ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps</screen>
-
- <para>Απο εδώ και πέρα μπορείτε να χειριστείτε την
- συσκευή <filename>ndis0</filename> σαν μια οποιαδήποτε κάρτα
- δικτύου (π.χ., <filename>dc0</filename>).</para>
-
- <para>Μπορείτε να ρυθμίσετε το σύστημα να φορτώνει τα NDIS αρθρώματα
- κατα την εκκίνηση με τον ίδιο τρόπο με τα όπως με οποιαδήποτε άλλα
- αρθρώματα. Πρώτα, αντιγράψτε το παραχθείσα
- άρθρωμα, <filename>W32DRIVER.ko</filename>, στον
- κατάλογο <filename>/boot/modules</filename>.
- Τότε, προσθέστε την ακόλουθη γραμμή στο
- <filename>/boot/loader.conf</filename>:</para>
-
- <programlisting>W32DRIVER_load="YES"</programlisting>
- </sect3>
- </sect2>
-
- <sect2>
- <title>Ρυθμίζοντας Την Κάρτα Δικτύου</title>
-
- <indexterm>
- <primary>network cards</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <para>Μόλις ο κατάλληλος οδηγός φορτωθεί για την κάρτα δικτύου,
- χρειάζεται να ρυθμιστεί. Όπως πολλά άλλα πράγματα, η κάρτα δικτύου
- είχε ρυθμιστεί κατα την στιγμή της εγκατάστασης με
- το <application>sysinstall</application>.</para>
-
- <para>Για να εμφανίσετε τις κάρτες δικτύου που έχετε στο σύστημα σας,
- πληκτρολογήστε την ακόλουθη εντολή:</para>
-
-<screen>&prompt.user; <userinput>ifconfig</userinput>
-dc0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
- ether 00:a0:cc:da:da:da
- media: Ethernet autoselect (100baseTX &lt;full-duplex&gt;)
- status: active
-dc1: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
- inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
- ether 00:a0:cc:da:da:db
- media: Ethernet 10baseT/UTP
- status: no carrier
-lp0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500
-lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
- inet 127.0.0.1 netmask 0xff000000
-tun0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1500</screen>
-
- <note>
- <para>Παλαιότερες εκδόσεις του &os; μπορεί να χρειάζονται την
- παράμετρο <option>-a</option> ακολουθούμενη στην &man.ifconfig.8;,
- για περισσότερες λεπτομέρειες σχετικά με την σωστή σύνταξη του
- &man.ifconfig.8;, παρακαλώ ανατρέξτε στην σελίδα βοηθείας.
- Σημειώστε επίσης ότι οι εγγραφές που αφορούν το IPv6
- (<literal>inet6</literal> κτλπ.) έχουν παραμεληθεί σε αυτό το
- παράδειγμα.</para>
- </note>
-
- <para>Σε αυτό το παράδειγμα, οι ακόλουθες συσκευές έχουν
- εμφανιστεί:</para>
-
- <itemizedlist>
- <listitem>
- <para><filename>dc0</filename>: Η πρώτη Ethernet κάρτα
- δικτύου</para>
- </listitem>
-
- <listitem>
- <para><filename>dc1</filename>: Η δεύτερη Ethernet κάρτα
- δικτύου</para>
- </listitem>
-
- <listitem>
- <para><