diff --git a/el_GR.ISO8859-7/books/handbook/Makefile b/el_GR.ISO8859-7/books/handbook/Makefile index 63186279a3..f4e877e6a6 100644 --- a/el_GR.ISO8859-7/books/handbook/Makefile +++ b/el_GR.ISO8859-7/books/handbook/Makefile @@ -1,317 +1,318 @@ # # $FreeBSD$ # # Μορφοποίηση του Εγχειριδίου του FreeBSD # # %SOURCE% en_US.ISO8859-1/books/handbook/Makefile -# %SRCID% 1.112 +# %SRCID% 1.113 # # ------------------------------------------------------------------------ # # Μεταβλητές σχετικές με το Εγχειρίδιο # # WITH_PGPKEYS Η εκτυπώσιμη μορφή του εγχειριδίου περιέχει κανονικά # μόνο τα fingerprints από τα PGP κλειδιά. Αν θέλετε # να εκτυπώνονται ολόκληρα τα κλειδιά, τότε αυτή η # μεταβλητή πρέπει να είναι 'defined'. Αυτή η επιλογή # δεν επηρεάζει σε τίποτα τις μορφές HTML. # # Make targets μόνο για το Εγχειρίδιο # # pgpkeyring This target will read the contents of # pgpkeys/chapter.sgml and will extract all of # the pgpkeys to standard out. This output can then # be redirected into a file and distributed as a # public keyring of FreeBSD developers that can # easily be imported into PGP/GPG. # # ------------------------------------------------------------------------ # # Για να προσθέσετε ένα νέο κεφάλαιο στο Εγχειρίδιο: # # - Ενημερώστε αυτό το Makefile, το chapters.ent και το book.sgml # - Προσθέστε μια σύντομη περιγραφή του κεφαλαίου στο preface/preface.sgml # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/sgml/glossary MAINTAINER= doc@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true USE_PS2PDF= yes INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= geom/striping.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/config-country.scr +IMAGES_EN+= install/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+= vinum/vinum-concat.pic IMAGES_EN+= vinum/vinum-mirrored-vol.pic IMAGES_EN+= vinum/vinum-raid10-vol.pic IMAGES_EN+= vinum/vinum-raid5-org.pic IMAGES_EN+= vinum/vinum-simple-vol.pic IMAGES_EN+= vinum/vinum-striped-vol.pic IMAGES_EN+= vinum/vinum-striped.pic IMAGES_EN+= virtualization/parallels-freebsd1.png IMAGES_EN+= virtualization/parallels-freebsd2.png IMAGES_EN+= virtualization/parallels-freebsd3.png IMAGES_EN+= virtualization/parallels-freebsd4.png IMAGES_EN+= virtualization/parallels-freebsd5.png IMAGES_EN+= virtualization/parallels-freebsd6.png IMAGES_EN+= virtualization/parallels-freebsd7.png IMAGES_EN+= virtualization/parallels-freebsd8.png IMAGES_EN+= virtualization/parallels-freebsd9.png IMAGES_EN+= virtualization/parallels-freebsd10.png IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png IMAGES_EN+= virtualization/virtualpc-freebsd1.png IMAGES_EN+= virtualization/virtualpc-freebsd2.png IMAGES_EN+= virtualization/virtualpc-freebsd3.png IMAGES_EN+= virtualization/virtualpc-freebsd4.png IMAGES_EN+= virtualization/virtualpc-freebsd5.png IMAGES_EN+= virtualization/virtualpc-freebsd6.png IMAGES_EN+= virtualization/virtualpc-freebsd7.png IMAGES_EN+= virtualization/virtualpc-freebsd8.png IMAGES_EN+= virtualization/virtualpc-freebsd9.png IMAGES_EN+= virtualization/virtualpc-freebsd10.png IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png IMAGES_EN+= virtualization/vmware-freebsd01.png IMAGES_EN+= virtualization/vmware-freebsd02.png IMAGES_EN+= virtualization/vmware-freebsd03.png IMAGES_EN+= virtualization/vmware-freebsd04.png IMAGES_EN+= virtualization/vmware-freebsd05.png IMAGES_EN+= virtualization/vmware-freebsd06.png IMAGES_EN+= virtualization/vmware-freebsd07.png IMAGES_EN+= virtualization/vmware-freebsd08.png IMAGES_EN+= virtualization/vmware-freebsd09.png IMAGES_EN+= virtualization/vmware-freebsd10.png IMAGES_EN+= virtualization/vmware-freebsd11.png IMAGES_EN+= virtualization/vmware-freebsd12.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png IMAGES_LIB+= callouts/11.png IMAGES_LIB+= callouts/12.png IMAGES_LIB+= callouts/13.png IMAGES_LIB+= callouts/14.png IMAGES_LIB+= callouts/15.png # # Η λίστα SRCS περιέχει όλα τα SGML αρχεία που αποτελούν μέρη του κειμένου. # Αλλαγές σε οποιοδήποτε από αυτά τα αρχεία προκαλούν rebuild. # # SGML content SRCS+= audit/chapter.sgml SRCS+= book.sgml SRCS+= colophon.sgml SRCS+= dtrace/chapter.sgml SRCS+= freebsd-glossary.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml SRCS+= boot/chapter.sgml SRCS+= config/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= desktop/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml SRCS+= firewalls/chapter.sgml SRCS+= filesystems/chapter.sgml SRCS+= geom/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= jails/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mac/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= network-servers/chapter.sgml SRCS+= pgpkeys/chapter.sgml SRCS+= ports/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= virtualization/chapter.sgml SRCS+= x11/chapter.sgml # Entities SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.sgml} SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} SGMLFLAGS+= -i chap.freebsd-glossary pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} # # Handbook-specific variables # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # # rules generating lists of mirror site from XML database. # XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \ mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \ eresources:::eresources.sgml.www.inc.tmp DEPENDSET.DEFAULT= transtable mirror XSLT.DEFAULT= ${XSL_MIRRORS} XML.DEFAULT= ${XML_MIRRORS} NO_TIDY.DEFAULT= yes PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.eresources+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.sgml'" SRCS+= mirrors.sgml.ftp.inc \ mirrors.sgml.cvsup.inc \ eresources.sgml.www.inc CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \ mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \ eresources.sgml.www.inc eresources.sgml.www.inc.tmp .include "${DOC_PREFIX}/share/mk/doc.project.mk" .for p in ftp cvsup mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) .endfor eresources.sgml.www.inc: eresources.sgml.www.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) # Local variables: # mode: makefile-bsdmake # coding: iso-8859-7 # End: diff --git a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml b/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml index c373eb8229..ca0508750e 100644 --- a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml @@ -1,701 +1,701 @@ Βιβλιογραφία Αν και τα manual pages παρέχουν μία επίσημη αναφορά για ξεχωριστά τμήματα του FreeBSD λειτουργικού συστήματος, έχουν κακή φήμη για το ότι δεν επεξηγούν πως να ενώσεις τα τμήματα μαζί για να κάνεις όλο το λειτουργικό σύστημα να λειτουργεί ομαλά. Για αυτό, δεν υπάρχει υποκατάστατο από ένα καλό βιβλίο στην διαχείριση συστημάτων &unix; και ένα καλό εγχειρίδιο χρήστη. Βιβλία & Περιοδικά σχετικά με το FreeBSD Διεθνή βιβλία & περιοδικά: Using FreeBSD (σε Παραδοσιακά Κινέζικα). FreeBSD Unleashed (Μετάφραση σε Απλοποιημένα Κινέζικα), εκδόθηκε από την China Machine Press. ISBN 7-111-10201-0. FreeBSD From Scratch First Edition (σε Απλοποιημένα Κινέζικα), εκδόθηκε από την China Machine Press. ISBN 7-111-07482-3. FreeBSD From Scratch Second Edition (σε Απλοποιημένα Κινέζικα), εκδόθηκε από την China Machine Press. ISBN 7-111-10286-X. FreeBSD Handbook Second Edition (Μετάφραση σε Απλοποιημένα Κινέζικα), εκδόθηκε από την Posts & Telecom Press. ISBN 7-115-10541-3. FreeBSD 3.x Internet (σε Απλοποιημένα Κινέζικα), εκδόθηκε από την Tsinghua University Press. ISBN 7-900625-66-6. FreeBSD & Windows (σε Απλοποιημένα Κινέζικα), εκδόθηκε από την China Railway Publishing House. ISBN 7-113-03845-X FreeBSD Internet Services HOWTO (σε Απλοποιημένα Κινέζικα), εκδόθηκε από την China Railway Publishing House. ISBN 7-113-03423-3 FreeBSD for PC 98'ers (στα Γιαπωνέζικα), εκδόθηκε από την SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E. FreeBSD (στα Γιαπωνέζικα), εκδόθηκε από την CUTT. ISBN 4-906391-22-2 C3055 P2400E. Complete Introduction to FreeBSD (στα Γιαπωνέζικα), εκδόθηκε από την Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E. Personal UNIX Starter Kit FreeBSD (στα Γιαπωνέζικα), εκδόθηκε από την ASCII. ISBN 4-7561-1733-3 P3000E. FreeBSD Handbook (Γιαπωνέζικη μετάφραση), εκδόθηκε από την ASCII. ISBN 4-7561-1580-2 P3800E. FreeBSD mit Methode (στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0. FreeBSD 4 - Installieren, Konfigurieren, Administrieren (στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag, 2001. ISBN 3-932311-88-4. FreeBSD 5 - Installieren, Konfigurieren, Administrieren (στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag, 2003. ISBN 3-936546-06-1. FreeBSD de Luxe (στα Γερμανικά), εκδόθηκε από την Verlag Modere Industrie, 2003. ISBN 3-8266-1343-0. FreeBSD Install and Utilization Manual (στα Γιαπωνέζικα), εκδόθηκε από την Mainichi Communications Inc.. Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo Building Internet Server with FreeBSD (στην Ινδονησιακή γλώσσα), εκδόθηκε από την Elex Media Komputindo. Absolute BSD: The Ultimate Guide to FreeBSD (Μετάφραση σε Παραδοσιακά Κινέζικα), εκδόθηκε από την GrandTech Press, 2003. ISBN 986-7944-92-5. The FreeBSD 6.0 Book (σε Παραδοσιακά Κινέζικα), εκδόθηκε από την Drmaster, 2006. ISBN 9-575-27878-X. Βιβλία & περιοδικά στην Αγγλική γλώσσα: Absolute FreeBSD, 2nd Edition: The Complete Guide to FreeBSD, εκδόθηκε από την No Starch Press, 2007. ISBN: 978-1-59327-151-0 The Complete FreeBSD, εκδόθηκε από την O'Reilly, 2003. ISBN: 0596005164 The FreeBSD Corporate Networker's Guide, εκδόθηκε από την Addison-Wesley, 2000. ISBN: 0201704811 FreeBSD: An Open-Source Operating System for Your Personal Computer, εκδόθηκε από την The Bit Tree Press, 2001. ISBN: 0971204500 Teach Yourself FreeBSD in 24 Hours, εκδόθηκε από την Sams, 2002. ISBN: 0672324245 FreeBSD 6 Unleashed, εκδόθηκε από την Sams, 2006. ISBN: 0672328755 FreeBSD: The Complete Reference, εκδόθηκε από την McGrawHill, 2003. ISBN: 0072224096 BSD Magazine, εκδίδεται από την Software Press Sp. z o.o. SK. ISSN 1898-9144 Οδηγοί χρήστη Computer Systems Research Group, UC Berkeley. 4.4BSD User's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-075-9 Computer Systems Research Group, UC Berkeley. 4.4BSD User's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-076-7 UNIX in a Nutshell. O'Reilly & Associates, Inc., 1990. ISBN 093717520X Mui, Linda. What You Need To Know When You Can't Find Your UNIX System Administrator. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-104-6 Το Ohio State University έγραψε τα Εισαγωγικά μαθήματα UNIX που διατίθενται σε HTML και σε μορφή PostScript. Μια Ιταλική μετάφραση αυτού του κειμένου διατίθεται ως μέρος του FreeBSD Italian Documentation Project. Jpman Project, Japan FreeBSD Users Group. FreeBSD User's Reference Manual (Japanese translation). Mainichi Communications Inc., 1998. ISBN4-8399-0088-4 P3800E. Το Edinburgh University έγραψε ένα Online οδηγό για νέους στο περιβάλλον του UNIX. Οδηγοί διαχειριστή Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O'Reilly & Associates, Inc., 2001. ISBN 1-59600-158-4 Computer Systems Research Group, UC Berkeley. 4.4BSD System Manager's Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-080-5 Costales, Brian, et al. Sendmail, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0 Frisch, Æleen. Essential System Administration, 2nd Ed. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5 Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-322-7 Nemeth, Evi. UNIX System Administration Handbook. 3rd Ed. Prentice Hall, 2000. ISBN 0-13-020601-6 Stern, Hal Managing NFS and NIS O'Reilly & Associates, Inc., 1991. ISBN 0-937175-75-7 Jpman Project, Japan FreeBSD Users Group. FreeBSD System Administrator's Manual (Γιαπωνέζικη μετάφραση). Mainichi Communications Inc., 1998. ISBN4-8399-0109-0 P3300E. Dreyfus, Emmanuel. Cahiers de l'Admin: BSD 2nd Ed. (στα Γαλλικά), Eyrolles, 2004. ISBN 2-212-11463-X Οδηγοί προγραμματιστών Asente, Paul, Converse, Diana, and Swick, Ralph. X Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-078-3 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-079-1 Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference Manual. 4th ed. Prentice Hall, 1995. ISBN 0-13-326224-3 Kernighan, Brian and Dennis M. Ritchie. The C Programming Language. 2nd Ed. PTR Prentice Hall, 1988. ISBN 0-13-110362-8 Lehey, Greg. Porting UNIX Software. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7 Plauger, P. J. The Standard C Library. Prentice Hall, 1992. ISBN 0-13-131509-9 Spinellis, Diomidis. Code Reading: The Open Source Perspective. Addison-Wesley, 2003. ISBN 0-201-79940-5 Spinellis, Diomidis. Code Quality: The Open Source Perspective. Addison-Wesley, 2006. ISBN 0-321-16607-8 Stevens, W. Richard and Stephen A. Rago. Advanced Programming in the UNIX Environment. 2nd Ed. Reading, Mass. : Addison-Wesley, 2005. ISBN 0-201-43307-9 Stevens, W. Richard. UNIX Network Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN 0-13-490012-X Wells, Bill. Writing Serial Drivers for UNIX. Dr. Dobb's Journal. 19(15), December 1994. pp68-71, 97-99. Το εσωτερικό του λειτουργικού συστήματος Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall, Inc., 1990. ISBN 0-13-949843-5 Jolitz, William. Porting UNIX to the 386. Dr. Dobb's Journal. January 1991-July 1992. Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1 Leffler, Samuel J., Marshall Kirk McKusick, The Design and Implementation of the 4.3BSD UNIX Operating System: Answer Book. Reading, Mass. : Addison-Wesley, 1991. ISBN 0-201-54629-9 McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4 (Το κεφάλαιο 2 από αυτό το βιβλίο διατίθεται online ως μέρος του FreeBSD Documentation Project, και το κεφάλαιο 9 εδώ.) Marshall Kirk McKusick, George V. Neville-Neil The Design and Implementation of the FreeBSD Operating System. Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2 Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63346-9 Schimmel, Curt. Unix Systems for Modern Architectures. Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8 Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3 Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice Hall, 1996. ISBN 0-13-101908-2 Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated, Volume 2: The Implementation. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X Αναφορές ασφαλείας Cheswick, William R. and Steven M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63357-4 Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet Security. 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN 1-56592-148-8 Garfinkel, Simson. PGP Pretty Good Privacy O'Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8 Αναφορές υλικού Anderson, Don and Tom Shanley. Pentium Processor System Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40992-5 Ferraro, Richard F. Programmer's Guide to the EGA, VGA, and Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-62490-7 Η Intel Corporation δημοσιεύει τεκμηρίωση για τις CPUs, τα chipsets και πρότυπα στο developer web site, συνήθως ως αρχεία PDF. Shanley, Tom. 80486 System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1 Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40996-8 Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN 0-201-30974-2 Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8 Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN 0-201-59616-4 Ιστορία του &unix; Lion, John Lion's Commentary on UNIX, 6th Ed. With Source Code. ITP Media Group, 1996. ISBN 1573980137 Raymond, Eric S. The New Hacker's Dictionary, 3rd edition. MIT Press, 1996. ISBN 0-262-68092-0. Γνωστό και ως το Jargon File Salus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing Company, Inc., 1994. ISBN 0-201-54777-5 Simon Garfinkel, Daniel Weise, Steven Strassmann. The UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN 1-56884-203-1. Εκτός κυκλοφορίας, αλλά διατίθεται online. + url="http://www.simson.net/ref/ugh.pdf">online. Don Libes, Sandy Ressler Life with UNIX — special edition. Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7 The BSD family tree. η το /usr/share/misc/bsd-family-tree σε ένα FreeBSD μηχάνημα. Networked Computer Science Technical Reports Library. Παλαιές BSD εκδόσεις από το Computer Systems Research group (CSRG). : Το 4CD set έχει όλες τις BSD εκδόσεις από την 1BSD μέχρι την 4.4BSD και την 4.4BSD-Lite2 (αλλά όχι την 2.11BSD, δυστυχώς). Το τελευταίο δισκάκι περιέχει επίσης τον τελικό πηγαίο κώδικα συν τα αρχεία SCCS. Περιοδικά και εφημερίδες The C/C++ Users Journal. R&D Publications Inc. ISSN 1075-2838 Sys Admin — The Journal for UNIX System Administrators Miller Freeman, Inc., ISSN 1061-2688 freeX — Das Magazin für Linux - BSD - UNIX (στα Γερμανικά) Computer- und Literaturverlag GmbH, ISSN 1436-7033 diff --git a/el_GR.ISO8859-7/books/handbook/firewalls/chapter.sgml b/el_GR.ISO8859-7/books/handbook/firewalls/chapter.sgml index ca413bddd5..8f125d1725 100644 --- a/el_GR.ISO8859-7/books/handbook/firewalls/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/firewalls/chapter.sgml @@ -1,3560 +1,3560 @@ Joseph J. Barbish Συνεισφορά του Brad Davis Μετατράπηκε σε SGML και ανανεώθηκε από τον Firewalls firewall ασφάλεια firewalls Σύνοψη Το firewall (τείχος προστασίας) καθιστά δυνατό το φιλτράρισμα της εισερχόμενης και εξερχόμενης κίνησης που διέρχεται από το σύστημα σας. Ένα firewall μπορεί να χρησιμοποιεί ένα ή περισσότερα σετ κανόνων για να επιθεωρεί τα πακέτα κατά την είσοδο ή έξοδο τους από μια δικτυακή σύνδεση, και να τα επιτρέπει ή να τα απορρίπτει. Οι κανόνες του firewall μπορούν να ελέγχουν ένα ή περισσότερα χαρακτηριστικά των πακέτων, συμπεριλαμβανομένων μεταξύ άλλων και του τύπου του πρωτοκόλλου, καθώς και την διεύθυνση ή/και θύρα (port) της αφετηρίας ή του προορισμού. Τα firewalls μπορούν να ενισχύσουν σημαντικά την ασφάλεια ενός κόμβου ή ενός δικτύου. Μπορούν να χρησιμοποιηθούν για μία ή περισσότερες από τις ακόλουθες λειτουργίες: Να προστατεύουν και να απομονώνουν τις εφαρμογές, τις υπηρεσίες και τα μηχανήματα του εσωτερικού σας δικτύου από ανεπιθύμητη κίνηση που προέρχεται από το Internet. Να περιορίζουν ή να αποκλείουν την πρόσβαση μηχανημάτων του εσωτερικού δικτύου σε υπηρεσίες του Internet. Να υποστηρίζουν μετάφραση δικτυακών διευθύνσεων (NAT), η οποία επιτρέπει στο εσωτερικό σας δίκτυο να χρησιμοποιεί ιδιωτικές IP διευθύνσεις και να μοιράζεται μία μοναδική σύνδεση με το Internet (είτε μέσω μίας μοναδικής δημόσιας IP διεύθυνσης, είτε μέσω ενός πλήθους δημοσίων διευθύνσεων που ανατίθενται αυτόματα). Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως να δημιουργήσετε σωστούς κανόνες φιλτραρίσματος πακέτων. Τους διάφορους τύπους firewall που υπάρχουν στο &os; και τις διαφορές τους. Πως να ρυθμίσετε και να χρησιμοποιήσετε το PF firewall του OpenBSD. Πως να ρυθμίσετε και να χρησιμοποιήσετε το IPFILTER. Πως να ρυθμίσετε και να χρησιμοποιήσετε το IPFW. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να κατανοείτε βασικές αρχές του &os; και του Internet. Βασικές Έννοιες των Firewalls firewall rulesets Υπάρχουν δύο βασικοί τρόποι για τη δημιουργία κανόνων σε ένα firewall: ο inclusive και ο exclusive. Ένα exclusive firewall επιτρέπει τη διέλευση όλης της κίνησης, εκτός από αυτή που ταιριάζει με τους κανόνες του. Ένα inclusive firewall κάνει το ανάποδο. Επιτρέπει μόνο τη διέλευση της κίνησης που ταιριάζει με τους κανόνες του, και αποκλείει οτιδήποτε άλλο. Τα inclusive firewalls προσφέρουν πολύ καλύτερο έλεγχο της εξερχόμενης κίνησης και για το λόγο αυτό είναι καλύτερα για συστήματα που προσφέρουν υπηρεσίες στο δημόσιο Internet. Ελέγχουν επίσης και τα πακέτα που προέρχονται από το δημόσιο Internet με προορισμό το ιδιωτικό σας δίκτυο. Από προεπιλογή, όλη η κίνηση που δεν ταιριάζει με τους κανόνες απορρίπτεται και καταγράφεται. Τα inclusive firewalls είναι γενικά ασφαλέστερα από τα exclusive, καθώς μειώνουν σημαντικά την πιθανότητα διέλευσης ανεπιθύμητης κίνησης μέσα από αυτά. Εκτός και αν αναφέρεται διαφορετικά, όλα τα παραδείγματα ρυθμίσεων και κανόνων που φαίνονται σε αυτό το κεφάλαιο, δημιουργούν inclusive firewalls. Η ασφάλεια μπορεί να γίνει ακόμα ισχυρότερη με τη χρήση ενός stateful firewall. Αυτός ο τύπος firewall αποθηκεύει την κατάσταση των συνδέσεων που μεταφέρουν δεδομένα μέσα από αυτό, και επιτρέπει μόνο την κίνηση που είτε ταιριάζει με μια από τις υπάρχουσες συνδέσεις, ή που ξεκινά μια νέα σύνδεση. Το μειονέκτημα ενός stateful firewall είναι ότι μπορεί να είναι ευάλωτο σε επιθέσεις Denial of Service (Άρνησης Υπηρεσίας, DoS) αν δεχθεί ταυτόχρονα πολλές αιτήσεις για άνοιγμα νέων συνδέσεων σε μικρό χρονικό διάστημα. Με τα περισσότερα firewalls, είναι δυνατόν να γίνει συνδυασμός και των δύο συμπεριφορών (τόσο stateful όσο και μη-stateful) ώστε να δημιουργηθεί το βέλτιστο firewall για την συγκεκριμένη χρήση. Προγράμματα Firewall Το &os; έχει τρία διαφορετικά προγράμματα firewall ενσωματωμένα στο βασικό σύστημα. Είναι τα: IPFILTER (γνωστό επίσης και ως IPF), το IPFIREWALL (γνωστό επίσης και ως IPFW), και το PacketFilter του OpenBSD (γνωστό επίσης και ως PF). Το &os; ενσωματώνει επίσης δύο προγράμματα για διαμόρφωση κυκλοφορίας (traffic shaping, έλεγχος του διαθέσιμου εύρους ζώνης): το &man.altq.4; και το &man.dummynet.4;. Το Dummynet είναι κατά παράδοση στενά συνδεμένο με το IPFW, και το ALTQ με το PF. Η διαμόρφωση κυκλοφορίας για το IPFILTER μπορεί τη δεδομένη στιγμή να γίνει με το IPFILTER για το NAT και το φιλτράρισμα και με το IPFW σε συνδυασμό με το &man.dummynet.4; ή χρησιμοποιώντας το PF σε συνδυασμό με το ALTQ. Τόσο το IPFW όσο και το PF χρησιμοποιούν κανόνες για να ελέγξουν την κίνηση των πακέτων από και προς το σύστημά σας, αν και διαθέτουν διαφορετικούς τρόπους για να το επιτύχουν, και οι κανόνες τους χρησιμοποιούν διαφορετική σύνταξη. Ο λόγος για τον οποίο το &os; διαθέτει πολλαπλά firewall, είναι ότι διαφορετικοί άνθρωποι έχουν διαφορετικές ανάγκες και προτιμήσεις. Δεν υπάρχει ένα και μοναδικό firewall που να είναι το καλύτερο. Ο συγγραφέας προτιμά το IPFILTER, καθώς οι κανόνες τύπου stateful που διαθέτει είναι λιγότερο πολύπλοκοι όταν χρησιμοποιούνται σε ένα περιβάλλον NAT, ενώ διαθέτει και ενσωματωμένο ftp proxy το οποίο τους απλοποιεί ακόμα περισσότερο, επιτρέποντας ασφαλή σύνδεση σε εξωτερικούς εξυπηρετητές FTP. Καθώς όλα τα firewall βασίζονται στην επιθεώρηση τιμών ελέγχου των πακέτων, ο διαχειριστής που πρόκειται να δημιουργήσει τους κανόνες πρέπει να κατανοεί τον τρόπο λειτουργίας του TCP/IP, το ρόλο των διαφόρων τιμών στα πεδία ελέγχου των πακέτων και πως χρησιμοποιούνται στην ανταλλαγή πληροφοριών σε μια συνηθισμένη συνεδρία. Για περισσότερες λεπτομέρειες, διαβάστε το . John Ferrell Αναθεωρήθηκε και ενημερώθηκε από τον Το Packet Filter (PF) και το <acronym>ALTQ</acronym> του OpenBSD firewall PF Τον Ιούλιο του 2003, η εφαρμογή firewall του OpenBSD (γνωστή ως PF) μεταφέρθηκε στο &os; και έγινε διαθέσιμη στην Συλλογή των Ports. Το &os; 5.3 που κυκλοφόρησε το 2004, ήταν η πρώτη επίσημη έκδοση η οποία περιείχε το PF ως τμήμα του βασικού πλέον συστήματος. Το PF είναι ένα ολοκληρωμένο firewall, με πλήθος χαρακτηριστικών, το οποίο επίσης διαθέτει προαιρετικά υποστήριξη για το ALTQ (Alternate Queuing). Το ALTQ προσφέρει υπηρεσίες Διασφάλισης Ποιότητας (Quality of Service, QoS). Το OpenBSD Project κάνει εξαιρετική δουλειά στη συντήρηση του PF FAQ. Για το λόγο αυτό, η παρούσα ενότητα του Εγχειριδίου εστιάζει κυρίως στις ιδιαιτερότητες του PF όσο αφορά το &os;, ενώ παρέχει και μερικές γενικές πληροφορίες σχετικά με τη χρήση του. Για πιο λεπτομερείς πληροφορίες σχετικά με τη χρήση του PF, παρακαλούμε διαβάστε το PF FAQ. Περισσότερες πληροφορίες σχετικά με το PF στο &os; μπορείτε να βρείτε στο . Χρησιμοποιώντας τα Αρθρώματα Πυρήνα για το PF Για να φορτώσετε το άρθρωμα πυρήνα για το PF, προσθέστε την παρακάτω γραμμή στο στο /etc/rc.conf: pf_enable="YES" Εκτελέστε έπειτα το script εκκίνησης για να φορτώσετε το άρθρωμα: &prompt.root; /etc/rc.d/pf start Σημειώστε ότι το άρθρωμα PF δεν πρόκειται να φορτωθεί αν δεν βρει το καθορισμένο αρχείο κανόνων. Το προεπιλεγμένο αρχείο είναι το /etc/pf.conf. Αν το αρχείο κανόνων βρίσκεται σε κάποια άλλη τοποθεσία, μπορείτε να την καθορίσετε προσθέτοντας μια γραμμή όπως την παρακάτω στο /etc/rc.conf: pf_rules="/path/to/pf.conf" Από το &os; 7.0 και μετά, το υπόδειγμα του pf.conf το οποίο βρίσκονταν στον κατάλογο /etc/, μεταφέρθηκε στον κατάλογο /usr/share/examples/pf/. Στις εκδόσεις του &os; πριν από την 7.0, υπήρχε από προεπιλογή ένα αρχείο /etc/pf.conf. Το άρθρωμα PF μπορεί επίσης να φορτωθεί χειροκίνητα από την γραμμή εντολών: &prompt.root; kldload pf.ko Η υποστήριξης καταγραφής του PF παρέχεται από το άρθρωμα pflog.ko και μπορείτε να την φορτώσετε προσθέτοντας την παρακάτω γραμμή στο /etc/rc.conf: pflog_enable="YES" Εκτελέστε έπειτα το script εκκίνησης για να φορτώσετε το άρθρωμα: &prompt.root; /etc/rc.d/pflog start Αν χρειάζεστε κάποιο από τα προχωρημένα χαρακτηριστικά του PF, θα πρέπει να μεταγλωττίσετε την υποστήριξη για το PF απευθείας μέσα στον πυρήνα. Επιλογές του PF για τον Πυρήνα kernel options device pf kernel options device pflog kernel options device pfsync Αν και δεν είναι απαραίτητο να μεταγλωττίσετε την υποστήριξη PF μέσα στον πυρήνα του &os;, ίσως να θέλετε να χρησιμοποιήσετε ένα από τα προχωρημένα χαρακτηριστικά του PF το οποίο δεν περιλαμβάνεται στο άρθρωμα του πυρήνα: το &man.pfsync.4;. Πρόκειται για μια ψευδο-συσκευή η οποία αποκαλύπτει συγκεκριμένες αλλαγές στον πίνακα καταστάσεων που χρησιμοποιείται από το PF. Μπορεί να συνδυαστεί με το &man.carp.4; για να δημιουργηθούν με το PF firewalls με δυνατότητα αυτόματης αλλαγής σε περίπτωση αποτυχίας (failover). Περισσότερες πληροφορίες σχετικά με το CARP μπορείτε να βρείτε στο του Εγχειριδίου. Μπορείτε να δείτε όλες τις επιλογές πυρήνα για το PF στο αρχείο /usr/src/sys/conf/NOTES. Οι επιλογές φαίνονται επίσης παρακάτω: device pf device pflog device pfsync Η επιλογή device pf ενεργοποιεί την υποστήριξη για το firewall Packet Filter (&man.pf.4;). Η επιλογή device pflog ενεργοποιεί την προαιρετική ψευδο-δικτυακή συσκευή &man.pflog.4; που μπορεί να χρησιμοποιηθεί για την καταγραφή της κίνησης σε ένα &man.bpf.4; descriptor. Ο δαίμονας &man.pflogd.8; μπορεί να αποθηκεύσει την καταγραφή αυτή στο σκληρό δίσκο. Η επιλογή device pfsync ενεργοποιεί την προαιρετική ψευδό-δικτυακή συσκευή &man.pfsync.4; η οποία χρησιμοποιείται για να ανιχνεύει αλλαγές κατάστασης. Επιλογές στο rc.conf Το PF και το &man.pflog.4; μπορούν να ρυθμιστούν κατά την εκκίνηση με τις παρακάτω καταχωρίσεις στο &man.rc.conf.5;: pf_enable="YES" # Enable PF (load module if required) pf_rules="/etc/pf.conf" # rules definition file for pf pf_flags="" # additional flags for pfctl startup pflog_enable="YES" # start pflogd(8) pflog_logfile="/var/log/pflog" # where pflogd should store the logfile pflog_flags="" # additional flags for pflogd startup Αν πίσω από αυτό το firewall υπάρχει κάποιο τοπικό δίκτυο (LAN) προς το οποίο επιθυμείτε να προωθήσετε πακέτα, ή αν θέλετε να χρησιμοποιήσετε NAT, θα χρειαστείτε επίσης και την παρακάτω επιλογή: gateway_enable="YES" # Enable as LAN gateway Δημιουργία Κανόνων Φιλτραρίσματος Το PF διαβάζει τις ρυθμίσεις του από το &man.pf.conf.5; (η προεπιλεγμένη τοποθεσία είναι στο /etc/pf.conf) και τροποποιεί, απορρίπτει ή αποδέχεται πακέτα σύμφωνα με τους κανόνες και τους ορισμούς που περιέχονται σε αυτό. Η εγκατάσταση του &os; περιλαμβάνει αρκετά υποδείγματα αρχείων ρύθμισης, στην τοποθεσία /usr/share/examples/pf/. Παρακαλούμε να διαβάσετε το PF FAQ για πλήρη ανάλυση των κανόνων του PF. Καθώς διαβάζετε το PF FAQ, να έχετε υπόψη σας ότι διαφορετικές εκδόσεις του &os; περιέχουν διαφορετικές εκδόσεις του PF. Τη δεδομένη στιγμή, το &os; 7.X και νεώτερες εκδόσεις, χρησιμοποιούν την ίδια έκδοση του PF που χρησιμοποιεί και το OpenBSD 4.1. Η &a.pf; είναι ένα καλό μέρος για να κάνετε ερωτήσεις σχετικές με τη ρύθμιση και τη λειτουργία του PF firewall. Μη ξεχάσετε να ελέγξετε τα αρχεία της λίστας πριν ξεκινήσετε τις ερωτήσεις! Δουλεύοντας με το PF Χρησιμοποιήστε το &man.pfctl.8; για να ελέγξετε το PF. Παρακάτω θα βρείτε κάποιες χρήσιμες εντολές (βεβαιωθείτε ότι έχετε διαβάσει τη σελίδα manual του &man.pfctl.8; για να δείτε όλες τις διαθέσιμες επιλογές): Εντολή Σκοπός pfctl Ενεργοποίηση του PF pfctl Απενεργοποίηση του PF pfctl all /etc/pf.conf Διαγραφή όλων των κανόνων (nat, filter, state, table, κ.λ.π.) και εκ νέου ανάγνωση από το αρχείο /etc/pf.conf pfctl [ rules | nat | state ] Εκτύπωση αναφοράς σχετικά με τους κανόνες του φίλτρου, του NAT, ή του πίνακα κατάστασης pfctl /etc/pf.conf Ελέγχει το /etc/pf.conf για λάθη, αλλά δεν φορτώνει τους κανόνες Ενεργοποίηση του <acronym>ALTQ</acronym> Το ALTQ διατίθεται μόνο αν μεταγλωττίσετε απευθείας την υποστήριξη του μέσα στον πυρήνα του &os;. Το ALTQ δεν υποστηρίζεται από όλα τα προγράμματα οδήγησης καρτών δικτύου. Παρακαλούμε δείτε τη σελίδα manual του &man.altq.4; για τη λίστα των οδηγών που υποστηρίζονται στην έκδοση του &os; που διαθέτετε. Οι παρακάτω επιλογές του πυρήνα ενεργοποιούν το ALTQ και παρέχουν επιπρόσθετες λειτουργίες: options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build Η γραμμή options ALTQ ενεργοποιεί το πλαίσιο λειτουργιών ALTQ. Η γραμμή options ALTQ_CBQ ενεργοποιεί το Class Based Queuing (CBQ). Το CBQ σας επιτρέπει να χωρίσετε το εύρος ζώνης μιας σύνδεσης σε διαφορετικές κλάσεις ή ουρές, ώστε να δίνονται προτεραιότητες στην κίνηση ανάλογα με τους κανόνες του φίλτρου. Η γραμμή options ALTQ_RED ενεργοποιεί το Random Early Detection (RED). Το RED χρησιμοποιείται για να αποφευχθεί η συμφόρηση του δικτύου. Για το σκοπό αυτό, το RED μετράει το μήκος της ουράς και το συγκρίνει με το μέγιστο και ελάχιστο όριο της. Αν η ουρά είναι πάνω από το μέγιστο, όλα τα νέα πακέτα θα απορρίπτονται. Σύμφωνα και με το όνομα του, το RED απορρίπτει πακέτα από διάφορες συνδέσεις με τυχαίο τρόπο. Η γραμμή options ALTQ_RIO ενεργοποιεί το Random Early Detection In and Out. Η γραμμή options ALTQ_HFSC ενεργοποιεί το Hierarchical Fair Service Curve Packet Scheduler. Για περισσότερες πληροφορίες σχετικά με το HFSC δείτε: . Η γραμμή options ALTQ_PRIQ ενεργοποιεί το Priority Queuing (PRIQ). Το PRIQ πάντοτε περνάει πρώτα την κίνηση με τη μεγαλύτερη προτεραιότητα. Η γραμμή options ALTQ_NOPCC ενεργοποιεί την υποστήριξη SMP για το ALTQ. Η επιλογή αυτή απαιτείται σε συστήματα SMP. Το IPFILTER (IPF) Firewall firewall IPFILTER Ο συγγραφέας του IPFILTER είναι ο Darren Reed. Το IPFILTER δεν εξαρτάται από το λειτουργικό σύστημα: είναι μια εφαρμογή ανοικτού κώδικα που έχει μεταφερθεί στο &os;, το NetBSD, το OpenBSD, το &sunos;, το HP/UX και το &solaris;. Το IPFILTER είναι υπό διαρκή και ενεργή ανάπτυξη και συντήρηση, και κυκλοφορούν τακτικά οι νέες εκδόσεις του. Το IPFILTER είναι ένα firewall και μηχανισμός NAT που λειτουργεί στον πυρήνα και μπορεί να ελέγχεται και να παρακολουθείται από προγράμματα χρήστη. Οι κανόνες του firewall μπορούν να τίθενται σε ισχύ ή να διαγράφονται μέσω του βοηθητικού προγράμματος &man.ipf.8;. Οι κανόνες για το NAT μπορούν να τίθενται σε ισχύ ή να διαγράφονται μέσω του βοηθητικού προγράμματος &man.ipnat.1;. Το βοηθητικό πρόγραμμα &man.ipfstat.8; μπορεί να εκτυπώσει στατιστικά εκτέλεσης για το τμήμα του IPFILTER που εκτελείται στον πυρήνα. Το πρόγραμμα &man.ipmon.8; μπορεί να καταγράψει τις ενέργειες του IPFILTER στο αρχεία καταγραφής συμβάντων του συστήματος. Το IPF γράφηκε αρχικά χρησιμοποιώντας μια λογική επεξεργασίας κανόνων του τύπου ο τελευταίο κανόνας που ταιριάζει, είναι και ο νικητής και χρησιμοποιούσε μόνο κανόνες τύπου stateless. Με την πάροδο του χρόνου, το IPF βελτιώθηκε για να περιλαμβάνει την επιλογή quick και την επιλογή keep state για stateful κανόνες. Οι επιλογές αυτές εκσυγχρόνισαν δραματικά τη λογική επεξεργασίας των κανόνων. Η επίσημη τεκμηρίωση του IPF καλύπτει μόνο τις παλιές παραμέτρους ρύθμισης και επεξεργασίας των κανόνων. Οι σύγχρονες λειτουργίες καλύπτονται μόνο ως πρόσθετες επιλογές, και έτσι δεν τονίζονται αρκετά τα πλεονεκτήματα τους στη δημιουργία ενός πολύ καλύτερου και ασφαλέστερου firewall. Οι οδηγίες που περιέχονται σε αυτή την ενότητα, βασίζονται στη χρήση κανόνων που περιέχουν την επιλογή quick καθώς και την stateful επιλογή keep state. Αυτό είναι και το βασικό πλαίσιο λειτουργιών για την δημιουργία του σετ κανόνων ενός inclusive firewall. Για λεπτομέρειες σχετικά με τον παλιότερο τρόπο επεξεργασίας των κανόνων, δείτε: και . Μπορείτε να δείτε το IPF FAQ στην τοποθεσία . Μπορείτε να βρείτε τις παλαιότερες δημοσιεύσεις τις λίστας ταχυδρομείου του IPFILTER στο . Παρέχεται δυνατότητα αναζήτησης. Ενεργοποιώντας το IPF IPFILTER enabling Το IPF περιλαμβάνεται στη βασική εγκατάσταση του &os; ως άρθρωμα το οποίο μπορεί να φορτωθεί χωριστά. Το σύστημα θα φορτώσει δυναμικά το άρθρωμα του IPF αν υπάρχει η καταχώριση ipfilter_enable="YES" στο αρχείο /etc/rc.conf. Το άρθρωμα έχει δημιουργηθεί με ενεργοποιημένη την δυνατότητα καταγραφής και με την επιλογή default pass all. Για να αλλάξετε αυτή την προεπιλογή σε block all, μπορείτε απλώς να προσθέσετε τον κανόνα απόρριψης (block all) στο τέλος των κανόνων σας. Δεν χρειάζεται να μεταγλωττίσετε την επιλογή IPF στο πυρήνα του &os; για το σκοπό αυτό. Επιλογές για τον Πυρήνα kernel options IPFILTER kernel options IPFILTER_LOG kernel options IPFILTER_DEFAULT_BLOCK IPFILTER kernel options Δεν είναι υποχρεωτικό να μεταγλωττίσετε τις παρακάτω επιλογές στον πυρήνα του &os; για να ενεργοποιήσετε το IPF. Η παρουσίαση τους εδώ είναι καθαρά ενημερωτική. Αν μεταγλωττίσετε το IPF απευθείας στον πυρήνα, δεν θα χρησιμοποιηθεί ποτέ το αντίστοιχο άρθρωμα. Στο αρχείο /usr/src/sys/conf/NOTES θα βρείτε παραδείγματα καταχωρίσεων IPF για το αρχείο ρύθμισης του πυρήνα. Οι επιλογές αυτές φαίνονται επίσης παρακάτω: options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK Η επιλογή options IPFILTER ενεργοποιεί την υποστήριξη για το IPFILTER firewall. Η επιλογή options IPFILTER_LOG ενεργοποιεί την υποστήριξη καταγραφής του IPF, η οποία γράφει στην ψευδο-συσκευή καταγραφής πακέτων ipl για κάθε κανόνα που περιλαμβάνει την επιλογή log. Η επιλογή options IPFILTER_DEFAULT_BLOCK αλλάζει την προεπιλεγμένη συμπεριφορά, ώστε κάθε πακέτο που δεν ταιριάζει με κάποιο κανόνα pass του firewall, να απορρίπτεται αυτόματα. Οι παραπάνω επιλογές θα ενεργοποιηθούν μόνο αφού μεταγλωττίσετε και εγκαταστήσετε ένα προσαρμοσμένο πυρήνα που να τις περιλαμβάνει. Διαθέσιμες Επιλογές για το rc.conf Χρειάζεστε τις παρακάτω καταχωρίσεις στο /etc/rc.conf για να ενεργοποιήσετε το IPF κατά την εκκίνηση του υπολογιστή: ipfilter_enable="YES" # Start ipf firewall ipfilter_rules="/etc/ipf.rules" # loads rules definition text file ipmon_enable="YES" # Start IP monitor log ipmon_flags="-Ds" # D = start as daemon # s = log to syslog # v = log tcp window, ack, seq # n = map IP & port to names Αν πίσω από αυτό το firewall υπάρχει κάποιο LAN που χρησιμοποιεί δεσμευμένες ιδιωτικές διευθύνσεις, θα χρειαστεί να προσθέσετε τις παρακάτω καταχωρίσεις για να ενεργοποιήσετε τη λειτουργία NAT: gateway_enable="YES" # Enable as LAN gateway ipnat_enable="YES" # Start ipnat function ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat IPF ipf Η εντολή &man.ipf.8; χρησιμοποιείται για να φορτώσει το αρχείο των κανόνων. Φυσιολογικά, θα δημιουργήσετε ένα αρχείο με τους δικούς σας προσαρμοσμένους κανόνες και θα αντικαταστήσετε με αυτό εξ'ολοκλήρου τους ενσωματωμένους κανόνες του firewall: &prompt.root; ipf -Fa -f /etc/ipf.rules Η επιλογή αδειάζει τους κανόνες από τους εσωτερικούς πίνακες του firewall. Η επιλογή καθορίζει το αρχείο των κανόνων που θα φορτωθεί. Αυτό σας δίνει την δυνατότητα να αλλάξετε το αρχείο κανόνων σας, να εκτελέσετε την εντολή IPF που αναφέραμε παραπάνω, και να ανανεώσετε με αυτό τον τρόπο τους κανόνες στο firewall που εκτελείται ήδη με καινούργιους, χωρίς να χρειαστεί να επανεκκινήσετε το σύστημα σας. Η μέθοδος αυτή είναι πολύ βολική για να δοκιμάσετε νέους κανόνες, καθώς μπορεί να επαναληφθεί όσες φορές θέλετε. Δείτε τη σελίδα manual του &man.ipf.8; για λεπτομέρειες σχετικά με τις υπόλοιπες επιλογές που μπορείτε να χρησιμοποιήσετε με την εντολή αυτή. Η εντολή &man.ipf.8; αναμένει ένα απλό αρχείο κειμένου ως αρχείο κανόνων. Δεν θα δεχθεί αρχείο κανόνων γραμμένο ως script με συμβολικές αντικαταστάσεις. Υπάρχει ωστόσο τρόπος να γράψετε κανόνες IPF που να χρησιμοποιούν την ισχύ των συμβολικών αντικαταστάσεων. Για περισσότερες πληροφορίες, δείτε το . IPFSTAT ipfstat IPFILTER statistics Η προεπιλεγμένη συμπεριφορά του &man.ipfstat.8; είναι να ανακτά και να απεικονίζει το σύνολο των στατιστικών που συγκεντρώθηκαν ως αποτέλεσμα της εφαρμογής των κανόνων του χρήστη στα πακέτα που εισέρχονται και εξέρχονται από το firewall, από τη στιγμή της τελευταίας του εκκίνησης ή από τον τελευταίο τους μηδενισμό μέσω της εντολής ipf -Z. Δείτε τη σελίδα manual &man.ipfstat.8; για λεπτομέρειες. Η προεπιλεγμένη έξοδος της εντολής &man.ipfstat.8; θα μοιάζει με την παρακάτω: input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 input packets logged: blocked 99286 passed 0 output packets logged: blocked 0 passed 0 packets logged: input 0 output 0 log failures: input 3898 output 0 fragment state(in): kept 0 lost 0 fragment state(out): kept 0 lost 0 packet state(in): kept 169364 lost 0 packet state(out): kept 431395 lost 0 ICMP replies: 0 TCP RSTs sent: 0 Result cache hits(in): 1215208 (out): 1098963 IN Pullups succeeded: 2 failed: 0 OUT Pullups succeeded: 0 failed: 0 Fastroute successes: 0 failures: 0 TCP cksum fails(in): 0 (out): 0 Packet log flags set: (0) Όταν χρησιμοποιηθεί η επιλογή για τα εισερχόμενα ή η επιλογή για τα εξερχόμενα πακέτα, η εντολή θα ανακτήσει και θα απεικονίσει την αντίστοιχη λίστα κανόνων που είναι εγκατεστημένη και χρησιμοποιείται από τον πυρήνα τη δεδομένη στιγμή. Η εντολή ipfstat -in δείχνει ένα αριθμημένο πίνακα κανόνων για εισερχόμενα πακέτα. Η εντολή ipfstat -on δείχνει ένα αριθμημένο πίνακα κανόνων για εξερχόμενα πακέτα. Η έξοδος θα μοιάζει με την παρακάτω: @1 pass out on xl0 from any to any @2 block out on dc0 from any to any @3 pass out quick on dc0 proto tcp/udp from any to any keep state Η εντολή ipfstat -ih δείχνει τον πίνακα κανόνων για τα εισερχόμενα πακέτα, τοποθετώντας μπροστά από τον κάθε κανόνα ένα αριθμό που δείχνει πόσες φορές έχει χρησιμοποιηθεί. Η εντολή ipfstat -oh δείχνει τον πίνακα κανόνων για τα εξερχόμενα πακέτα, τοποθετώντας μπροστά από τον κάθε κανόνα ένα αριθμό που δείχνει πόσες φορές έχει χρησιμοποιηθεί. Η έξοδος θα μοιάζει με την παρακάτω: 2451423 pass out on xl0 from any to any 354727 block out on dc0 from any to any 430918 pass out quick on dc0 proto tcp/udp from any to any keep state Μια από τις πιο σημαντικές λειτουργίες της εντολής ipfstat είναι η επιλογή η οποία απεικονίζει τον πίνακα καταστάσεων, με τρόπο όμοιο με αυτό που χρησιμοποιεί η εντολή &man.top.1; για να δείξει τον πίνακα διεργασιών που εκτελούνται στο &os;. Όταν το firewall σας δέχεται επίθεση, η λειτουργία αυτή σας δίνει την δυνατότητα να αναγνωρίσετε και να εστιάσετε στα ίδια τα πακέτα που την αποτελούν. Οι προαιρετικές υπο-επιλογές σας δίνουν την δυνατότητα να επιλέξετε το IP αφετηρίας ή προορισμού, την θύρα, ή το πρωτόκολλο το οποίο θέλετε να παρακολουθήσετε σε πραγματικό χρόνο. Δείτε τη σελίδα manual του &man.ipfstat.8; για περισσότερες λεπτομέρειες. IPMON ipmon IPFILTER logging Για να λειτουργήσει σωστά η εντολή ipmon, θα πρέπει να ενεργοποιηθεί η επιλογή IPFILTER_LOG στον πυρήνα. Η εντολή αυτή διαθέτει δύο διαφορετικούς τρόπους λειτουργίας. Ο προεπιλεγμένος κανονικός τρόπος λειτουργίας ενεργοποιείται όταν η εντολή χρησιμοποιείται χωρίς την επιλογή . Η εντολή μπορεί να χρησιμοποιηθεί σε λειτουργία δαίμονα όταν επιθυμείτε να έχετε ένα συνεχόμενο αρχείο καταγραφής ώστε να μπορείτε να εξετάσετε τις προηγούμενες εγγραφές. Αυτός είναι και ο τρόπος με τον οποίο έχει ρυθμιστεί να συνεργάζεται το &os; με το IPFILTER. Το &os; έχει ενσωματωμένη δυνατότητα εναλλαγής αρχείων καταγραφής. Για αυτό το λόγο, είναι καλύτερο η καταγραφή να γίνεται μέσω του &man.syslogd.8; παρά σε ένα συνηθισμένο αρχείο. Από προεπιλογή, η ρύθμιση ipmon_flags στο αρχείο rc.conf χρησιμοποιεί τις επιλογές : ipmon_flags="-Ds" # D = start as daemon # s = log to syslog # v = log tcp window, ack, seq # n = map IP & port to names Τα πλεονεκτήματα της καταγραφής είναι προφανή. Παρέχει την δυνατότητα επισκόπησης πληροφοριών όπως τα πακέτα που απορρίφθηκαν, τις διευθύνσεις από τις οποίες λήφθηκαν, και τον προορισμό τους. Έχετε έτσι ένα σημαντικό πλεονέκτημα όταν προσπαθείτε να αναγνωρίσετε ένα εισβολέα. Ακόμα και όταν ενεργοποιήσετε την δυνατότητα καταγραφής, το IPF δεν θα καταγράψει τίποτα αν δεν έχει γίνει η αντίστοιχη ρύθμιση στους κανόνες. Ο διαχειριστής του firewall αποφασίζει για ποιους κανόνες του σετ θέλει να ενεργοποιήσει την καταγραφή, και προσθέτει σε αυτούς την λέξη log. Φυσιολογικά, η καταγραφή ενεργοποιείται μόνο σε κανόνες που απορρίπτουν πακέτα. Είναι πολύ συνηθισμένο να περιλαμβάνεται ένας κανόνας στο τέλος του συνόλου, που να απορρίπτει από προεπιλογή όλα τα πακέτα που φτάνουν μέχρι εκεί (default deny). Με τον τρόπο αυτό μπορείτε να δείτε όλα τα πακέτα που δεν ταίριαξαν με κανένα κανόνα του σετ. Καταγραφή του IPMON Το syslogd χρησιμοποιεί τη δική του ειδική μέθοδο για το διαχωρισμό των δεδομένων καταγραφής. Διαθέτει ειδικές ομαδοποιήσεις που ονομάζονται facility και level. Όταν το IPMON χρησιμοποιείται με την επιλογή , χρησιμοποιεί από προεπιλογή το local0 ως όνομα facility. Αν το επιθυμείτε, μπορείτε να χρησιμοποιήσετε τα παρακάτω επίπεδα για περαιτέρω διαχωρισμό των δεδομένων καταγραφής: LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block. LOG_NOTICE - packets logged which are also passed LOG_WARNING - packets logged which are also blocked LOG_ERR - packets which have been logged and which can be considered short Για να ρυθμίσετε το IPFILTER να καταγράφει όλα τα δεδομένα στο /var/log/ipfilter.log, θα χρειαστεί να δημιουργήσετε από πριν το αρχείο. Αυτό μπορεί να γίνει με την παρακάτω εντολή: &prompt.root; touch /var/log/ipfilter.log Η λειτουργία του &man.syslogd.8; μπορεί να ρυθμιστεί με καταχωρίσεις στο αρχείο /etc/syslog.conf. Το αρχείο syslog.conf προσφέρει σημαντική ευελιξία στον τρόπο με τον οποίο το syslog αντιμετωπίζει τα μηνύματα συστήματος που προέρχονται από εφαρμογές όπως το IPF. Προσθέστε την παρακάτω καταχώριση στο αρχείο /etc/syslog.conf: local0.* /var/log/ipfilter.log Το local0.* σημαίνει ότι θα γίνεται καταγραφή όλων των μηνυμάτων αυτού του τύπου στην τοποθεσία που έχει οριστεί. Για να ενεργοποιήσετε τις αλλαγές στο /etc/syslog.conf θα πρέπει να επανεκκινήσετε το μηχάνημα ή να αναγκάσετε το &man.syslogd.8; να ξαναδιαβάσει το /etc/syslog.conf, εκτελώντας την εντολή /etc/rc.d/syslogd reload Μην ξεχάσετε να τροποποιήσετε το /etc/newsyslog.conf ώστε να εναλλάσσει το αρχείο καταγραφής που δημιουργήσατε παραπάνω. Η Μορφή των Μηνυμάτων Καταγραφής Τα μηνύματα που παράγονται από την ipmon αποτελούνται από πεδία δεδομένων που χωρίζονται από λευκό διάστημα. Τα πεδία που είναι κοινά σε όλα τα μηνύματα, είναι τα παρακάτω: Η ημερομηνία παραλαβής του πακέτου Η ώρα παραλαβής του πακέτου. Έχει την μορφή HH:MM:SS.F, η οποία υποδηλώνει ώρες, λεπτά, δευτερόλεπτα και κλάσματα δευτερολέπτου (τα οποία μπορεί να είναι πολλά δεκαδικά ψηφία). Το όνομα της διεπαφής στην οποία έγινε η επεξεργασία του πακέτου π.χ. dc0. Ο αριθμός ομάδας και ο αύξων αριθμός του κανόνα, π.χ. @0:17. Μπορείτε να δείτε τα παρακάτω με την εντολή ipfstat -in: Το είδος της ενέργειας: p αν το πακέτο πέρασε, b αν το πακέτο απορρίφθηκε, S για σύντομο πακέτο, n αν δεν ταίριαξε με κανένα κανόνα, L για κανόνα με καταγραφή. Η σειρά προτεραιότητας στην απεικόνιση των παραπάνω, είναι S, p, b, n, L. Το κεφαλαίο P ή το B σημαίνουν ότι η καταγραφή του πακέτου έγινε λόγω κάποιας γενικής ρύθμισης καταγραφής και όχι εξαιτίας κάποιου κανόνα. Οι διευθύνσεις. Πρόκειται στην πραγματικότητα για τρία πεδία: τη διεύθυνση και τη θύρα αφετηρίας (χωρίζονται με κόμμα), το σύμβολο -> και την διεύθυνση και θύρα προορισμού, π.χ. 209.53.17.22,80 -> 198.73.220.17,1722. Το PR ακολουθούμενο από το όνομα ή τον αριθμό του πρωτοκόλλου, π.χ. PR tcp. Το len ακολουθούμενο από το μήκος της επικεφαλίδας και το συνολικό μήκος του πακέτου, π.χ. len 20 40. Αν πρόκειται για πακέτο TCP, θα υπάρχει ένα επιπλέον πεδίο το οποίο θα ξεκινάει με μια παύλα και θα ακολουθείται από γράμματα τα οποία αντιστοιχούν στις επιλογές (flags) που έχουν - τεθεί. Δείτε τη σελίδα manual &man.ipmon.8; για τη λίστα των + τεθεί. Δείτε τη σελίδα manual &man.ipf.5; για τη λίστα των γραμμάτων και των αντίστοιχων flags. Αν πρόκειται για πακέτο ICMP, θα υπάρχουν δύο πεδία στο τέλος, το πρώτο θα είναι πάντα ICMP και το επόμενο θα είναι ο τύπος του μηνύματος και του υπό-μηνύματος ICMP, χωρισμένα με μια κάθετο, π.χ. ICMP 3/3 για ένα μήνυμα μη προσβάσιμης θύρας (port unreachable). Δημιουργία Script Κανόνων με Συμβολική Υποκατάσταση Ορισμένοι έμπειροι χρήστες του IPF δημιουργούν ένα αρχείο κανόνων το οποίο μπορεί να εκτελεστεί ως script με δυνατότητα συμβολικής υποκατάστασης. Το βασικό όφελος του παραπάνω, είναι ότι χρειάζεται να αλλάξετε μόνο την τιμή που σχετίζεται με το συμβολικό όνομα και όταν το script εκτελεστεί, η τιμή θα υποκατασταθεί σε όλους τους κανόνες που περιέχουν το όνομα αυτό. Καθώς πρόκειται για script, μπορείτε να χρησιμοποιήσετε συμβολική υποκατάσταση για να κωδικοποιήσετε συχνά χρησιμοποιούμενες τιμές και να τις υποκαθιστάτε σε πολλαπλούς κανόνες. Αυτό φαίνεται και στο παράδειγμα που ακολουθεί. Η σύνταξη του script που χρησιμοποιείται εδώ, είναι συμβατή με τα κελύφη &man.sh.1;, &man.csh.1;, και &man.tcsh.1;. Τα πεδία στα οποία γίνεται συμβολική υποκατάσταση προσημειώνονται με το σήμα του δολαρίου: $. Τα συμβολικά πεδία δεν έχουν την προσημείωση με το $. Η τιμή που θα χρησιμοποιηθεί στο συμβολικό πεδίο, θα πρέπει να εσωκλείεται σε διπλά εισαγωγικά ("). Ξεκινήστε το αρχείο των κανόνων σας με κάτι αντίστοιχο με το παρακάτω: ############# Start of IPF rules script ######################## oif="dc0" # name of the outbound interface odns="192.0.2.11" # ISP's DNS server IP address myip="192.0.2.7" # my static IP address from ISP ks="keep state" fks="flags S keep state" # You can choose between building /etc/ipf.rules file # from this script or running this script "as is". # # Uncomment only one line and comment out another. # # 1) This can be used for building /etc/ipf.rules: #cat > /etc/ipf.rules << EOF # # 2) This can be used to run script "as is": /sbin/ipf -Fa -f - << EOF # Allow out access to my ISP's Domain name server. pass out quick on $oif proto tcp from any to $odns port = 53 $fks pass out quick on $oif proto udp from any to $odns port = 53 $ks # Allow out non-secure standard www function pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Allow out secure www function https over TLS SSL pass out quick on $oif proto tcp from $myip to any port = 443 $fks EOF ################## End of IPF rules script ######################## Αυτό είναι όλο. Στο παραπάνω παράδειγμα δεν είναι σημαντικοί οι κανόνες, αλλά ο τρόπος με τον οποίο λειτουργούν και παίρνουν τιμές τα πεδία υποκατάστασης. Αν το παραπάνω παράδειγμα βρίσκονταν σε ένα αρχείο με το όνομα /etc/ipf.rules.script, θα μπορούσατε να επαναφορτώσετε αυτούς τους κανόνες με την παρακάτω εντολή: &prompt.root; sh /etc/ipf.rules.script Υπάρχει ένα πρόβλημα όταν χρησιμοποιούνται αρχεία κανόνων με ενσωματωμένους συμβολισμούς: Το IPF δεν καταλαβαίνει τη συμβολική υποκατάσταση, και δεν μπορεί να διαβάσει αυτά τα scripts άμεσα. Ένα τέτοιο script μπορεί να χρησιμοποιηθεί με ένα από τους δύο παρακάτω τρόπους: Αφαιρέστε το σχόλιο από τη γραμμή που ξεκινάει με cat, και μετατρέψτε σε σχόλιο τη γραμμή που ξεκινάει με /sbin/ipf. Τοποθετήστε το ipfilter_enable="YES" στο αρχείο /etc/rc.conf όπως συνήθως, και εκτελέστε το script μια φορά μετά από κάθε αλλαγή για να δημιουργήσετε ή να ενημερώσετε το /etc/ipf.rules. Απενεργοποιήστε το IPFILTER στα scripts εκκίνησης του συστήματος, προσθέτοντας την καταχώριση ipfilter_enable="NO" (πρόκειται για την προεπιλεγμένη τιμή) στο αρχείο /etc/rc.conf. Προσθέστε ένα script όπως το παρακάτω στον κατάλογο εκκίνησης /usr/local/etc/rc.d/. Το script θα πρέπει να έχει ένα προφανές όνομα, όπως ipf.loadrules.sh. Η επέκταση .sh είναι υποχρεωτική. #!/bin/sh sh /etc/ipf.rules.script Οι άδειες σε αυτό το αρχείο, θα πρέπει να επιτρέπουν ανάγνωση, εγγραφή και εκτέλεση για τον χρήστη root. &prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh Οι κανόνες του IPF θα φορτώνονται πλέον κατά την εκκίνηση του συστήματος σας. Το Σύνολο Κανόνων του IPF Ως σύνολο κανόνων στο IPF, ορίζουμε μια ομάδα κανόνων που έχουν γραφεί για να επιτρέπουν ή να απορρίπτουν πακέτα ανάλογα με τις τιμές που περιέχονται σε αυτά. Η διπλής κατεύθυνσης ανταλλαγή πακέτων μεταξύ υπολογιστών αποτελεί μια συνεδρία. Το σύνολο κανόνων του firewall επεξεργάζεται τόσο τα πακέτα που έρχονται από το Internet, όσο και τα πακέτα που παράγονται από το σύστημα ως απάντηση σε αυτά. Κάθε υπηρεσία TCP/IP (π.χ. telnet, www, mail, κ.λ.π.) καθορίζεται από το πρωτόκολλο και την προνομιακή (privileged) θύρα που χρησιμοποιεί για να δέχεται αιτήματα εξυπηρέτησης. Τα πακέτα που προορίζονται για μια συγκεκριμένη υπηρεσία, ξεκινούν από τη διεύθυνση αφετηρίας χρησιμοποιώντας μια μη-προνομιακή θύρα και καταλήγουν στη συγκεκριμένη θύρα υπηρεσίας στον προορισμό. Όλες οι παραπάνω παράμετροι (θύρες και διευθύνσεις) μπορούν να χρησιμοποιηθούν ως κριτήρια επιλογής για την δημιουργία κανόνων που επιτρέπουν ή εμποδίζουν την πρόσβαση σε υπηρεσίες. IPFILTER rule processing order Το IPF γράφτηκε αρχικά χρησιμοποιώντας μια λογική επεξεργασίας κανόνων του τύπου ο τελευταίος κανόνας που ταιριάζει, είναι ο νικητής και χρησιμοποιούσε μόνο κανόνες stateless. Με την πάροδο του χρόνου, το IPF ενισχύθηκε με την επιλογή quick και με δυνατότητα αποθήκευσης κατάστασης μέσω της επιλογής keep state. Με τον τρόπο αυτό, εκσυγχρονίστηκε δραματικά η λογική επεξεργασίας των κανόνων. Οι οδηγίες που περιέχονται σε αυτή την ενότητα βασίζονται στη χρήση κανόνων που περιέχουν την επιλογή quick και την επιλογή keep state για τη διατήρηση της κατάστασης. Αυτές είναι και οι βασικές λειτουργίες για την κωδικοποίηση του συνόλου κανόνων ενός inclusive firewall. Όταν δουλεύετε με τους κανόνες του firewall, θα πρέπει να είστε πολύ προσεκτικοί. Αν βάλετε λανθασμένες ρυθμίσεις, μπορεί να κλειδωθείτε έξω από τον εξυπηρετητή σας. Για να είστε ασφαλείς, είναι προτιμότερο να κάνετε τις αρχικές σας ρυθμίσεις από την τοπική κονσόλα, παρά μέσω απομακρυσμένης σύνδεσης (π.χ. μέσω ssh). Συντακτικό Κανόνων IPFILTER rule syntax Το συντακτικό των κανόνων που παρουσιάζουμε εδώ, έχει απλοποιηθεί ώστε να απεικονίζει τη σύγχρονη stateful υλοποίηση και τη λογική του τύπου ο πρώτος κανόνας που ταιριάζει είναι και ο νικητής. Για την περιγραφή του παλιότερου τρόπου λειτουργίας, διαβάστε τη σελίδα manual του &man.ipf.8;. Ο χαρακτήρας # χρησιμοποιείται για να επισημάνει την αρχή ενός σχολίου, και μπορεί να εμφανίζεται στο τέλος μιας γραμμής κανόνα ή στη δική του γραμμή. Οι κενές γραμμές αγνοούνται. Οι κανόνες περιέχουν λέξεις-κλειδιά. Οι λέξεις αυτές θα πρέπει να κωδικοποιηθούν με συγκεκριμένη σειρά από τα αριστερά προς τα δεξιά της γραμμής. Οι λέξεις-κλειδιά φαίνονται παρακάτω με έντονα γράμματα. Μερικές λέξεις έχουν υπο-επιλογές οι οποίες μπορεί να είναι επίσης λέξεις-κλειδιά και να περιλαμβάνουν επίσης περισσότερες υπο-επιλογές. Κάθε μια από τις επικεφαλίδες στο παράδειγμα που φαίνεται παρακάτω έχει μια κεφαλίδα με έντονα γράμματα η οποία επεξηγεί το περιεχόμενο της. ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO SRC_ADDR,DST_ADDR OBJECT PORT_NUM TCP_FLAG STATEFUL ACTION = block | pass IN-OUT = in | out OPTIONS = log | quick | on interface-name SELECTION = proto value | source/destination IP | port = number | flags flag-value PROTO = tcp/udp | udp | tcp | icmp SRC_ADD,DST_ADDR = all | from object to object OBJECT = IP address | any PORT_NUM = port number TCP_FLAG = S STATEFUL = keep state ACTION Η ενέργεια (action) δείχνει τι πρέπει να γίνει με το πακέτο αν ταιριάζει με τον κανόνα του φίλτρου. Κάθε κανόνας πρέπει να διαθέτει μια ενέργεια. Οι ενέργειες που αναγνωρίζονται, φαίνονται παρακάτω: Το block δείχνει ότι το πακέτο θα πρέπει να απορριφθεί αν ταιριάζει με τις παραμέτρους επιλογής του κανόνα. Το pass δείχνει ότι το πακέτο θα πρέπει να εξέλθει από το firewall, αν ταιριάζει με τις παραμέτρους επιλογής του κανόνα. IN-OUT Κάθε κανόνας του φίλτρου πρέπει υποχρεωτικά να διευκρινίζει με σαφήνεια αν αναφέρεται στην είσοδο ή την έξοδο πακέτων. Η επόμενη λέξη-κλειδί πρέπει να είναι in ή out και αν δεν υπάρχει, ο κανόνας θα αποτύχει κατά το συντακτικό έλεγχο. Το in σημαίνει ότι ο κανόνας θα εφαρμοστεί σε ένα εισερχόμενο πακέτο το οποίο μόλις λήφθηκε στη διεπαφή που συνδέεται με το Διαδίκτυο. Το out σημαίνει ότι ο κανόνας θα εφαρμοστεί σε ένα πακέτο που προορίζεται για έξοδο μέσω της διεπαφής που συνδέεται με το Διαδίκτυο. OPTIONS Οι παρακάτω επιλογές πρέπει να χρησιμοποιηθούν με τη σειρά που φαίνονται εδώ. Το log δείχνει ότι η επικεφαλίδα του πακέτου θα γραφεί στο αρχείο καταγραφής του ipl (όπως περιγράφεται στην ενότητα LOGGING που ακολουθεί) αν οι παράμετροι της επιλογής ταιριάζουν με το πακέτο. To quick δείχνει ότι αν οι παράμετροι της επιλογής ταιριάζουν με το πακέτο, ο συγκεκριμένος κανόνας θα είναι και ο τελευταίος κανόνας που θα ελεγχθεί. Η επιλογή αυτή είναι υποχρεωτική για τη σύγχρονη λογική επεξεργασίας πακέτων. Το on δείχνει το όνομα της διεπαφής που θα ενσωματωθεί στις παραμέτρους επιλογής. Τα ονόματα των διεπαφών φαίνονται όταν εκτελείται η εντολή &man.ifconfig.8;. Χρησιμοποιώντας την επιλογή αυτή, ο κανόνας θα ελεγχθεί μόνο αν το πακέτο διέρχεται μέσω της συγκεκριμένης διεπαφής και προς τη συγκεκριμένη κατεύθυνση (εισερχόμενα/εξερχόμενα). Η επιλογή αυτή είναι υποχρεωτική για την σύγχρονη λογική επεξεργασίας των κανόνων. Όταν γίνεται καταγραφή ενός πακέτου, οι επικεφαλίδες γράφονται στην ψευδο-συσκευή καταγραφής πακέτων IPL. Μετά την εντολή log, μπορούν να χρησιμοποιηθούν οι παρακάτω παράμετροι (με τη σειρά που φαίνονται): Το body δείχνει ότι θα γίνει καταγραφή των πρώτων 128 bytes των περιεχομένων του πακέτου, που βρίσκονται αμέσως μετά την επικεφαλίδα. Η επιλογή first συνίσταται να χρησιμοποιηθεί αν η επιλογή log χρησιμοποιείται σε συνδυασμό με την keep state. Με τον τρόπο αυτό γίνεται καταγραφή μόνο του πρώτου πακέτου (με το οποίο ξεκίνησε η επικοινωνία), και όχι όλων των υπολοίπων τα οποία ταιριάζουν με την πληροφορία keep state. SELECTION Οι λέξεις κλειδιά που περιγράφονται σε αυτή την ενότητα, χρησιμοποιούνται για να περιγράψουν ποιες ιδιότητες του πακέτου θα διερευνηθούν για να καθοριστεί αν ταιριάζει ή όχι με τους κανόνες. Μια λέξη-κλειδί ορίζει το κεντρικό θέμα και ακολουθείται από άλλες λέξεις που ορίζουν τις ακριβείς επιλογές. Πρέπει πάντοτε να επιλέγεται μια από αυτές τις λέξεις. Παρέχονται οι παρακάτω ιδιότητες γενικής χρήσης οι οποίες πρέπει να χρησιμοποιηθούν με αυτή τη σειρά: PROTO Το proto είναι η βασική λέξη, και πρέπει να γράφεται μαζί με κάποια αντίστοιχη τιμή για περαιτέρω επιλογή. Η τιμή επιτρέπει το ταίριασμα με ένα συγκεκριμένο πρωτόκολλο. Είναι υποχρεωτικό να χρησιμοποιηθεί για να λειτουργεί η σύγχρονη λογική επεξεργασίας των κανόνων. Τα ονόματα πρωτοκόλλων που αναγνωρίζονται και μπορούν να χρησιμοποιηθούν, είναι τα tcp/udp | udp | tcp | icmp ή οποιαδήποτε άλλα εμφανίζονται στο /etc/protocols. Μπορείτε να χρησιμοποιήσετε το ειδικό όνομα tcp/udp το οποίο ταιριάζει είτε με πακέτο TCP είτε με UDP. Η ειδική αυτή ονομασία προστέθηκε ώστε να αποφεύγονται διπλοί, αλλά κατά τα άλλα όμοιοι, κανόνες. SRC_ADDR/DST_ADDR Η λέξη all είναι ουσιαστικά συνώνυμη με την φράση from any to any χωρίς να υπάρχουν άλλες παράμετροι για το ταίριασμα. Όταν χρησιμοποιείται το from src to dst, οι λέξεις from και to δηλώνουν διευθύνσεις IP που θα χρησιμοποιηθούν για το ταίριασμα. Οι κανόνες πρέπει να καθορίζουν τις παραμέτρους τόσο της αφετηρίας όσο και του προορισμού. Η λέξη any έχει την ειδική ιδιότητα να ταιριάζει με οποιαδήποτε διεύθυνση IP. Παραδείγματα χρήσης: from any to any ή from 0.0.0.0/0 to any ή from any to 0.0.0.0/0 ή from 0.0.0.0 to any ή from any to 0.0.0.0. Δεν υπάρχει τρόπος να περιγραφούν περιοχές IP διευθύνσεων που δεν μπορούν να εκφραστούν εύκολα με τη μορφή αριθμών χωρισμένων με τελείες / μάσκας υποδικτύου. Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα net-mgmt/ipcalc για διευκόλυνση σας στους υπολογισμούς. Δείτε την δικτυακή τοποθεσία του προγράμματος για περισσότερες πληροφορίες: . PORT Το ταίριασμα με κάποια συγκεκριμένη θύρα αφετηρίας ή/και προορισμού (αν υπάρχει) εφαρμόζεται μόνο σε πακέτα TCP και UDP. Κατά την δημιουργία συγκρίσεων με θύρες, μπορείτε είτε να χρησιμοποιήσετε τον αριθμό της θύρας, είτε το όνομα της αντίστοιχης υπηρεσίας από το αρχείο /etc/services. Όταν η θύρα εμφανίζεται ως τμήμα του αντικειμένου from, το ταίριασμα θα γίνει με την θύρα της αφετηρίας. Όταν εμφανίζεται ως τμήμα του αντικειμένου to, το ταίριασμα θα γίνει με τη θύρα προορισμού. Για να λειτουργεί η σύγχρονη λογική ταιριάσματος κανόνων, θα πρέπει οπωσδήποτε να υπάρχει η επιλογή θύρας στο αντικείμενο to. Παράδειγμα χρήσης: from any to any port = 80 Οι συγκρίσεις που αναφέρονται σε μια μόνο θύρα, μπορούν να γίνουν με πολλούς διαφορετικούς τρόπους, χρησιμοποιώντας διαφορετικούς τελεστές σύγκρισης. Είναι επίσης δυνατόν να καθοριστούν ολόκληρες περιοχές από θύρες. port "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" | "le" | "ge". Για να καθορίσετε περιοχές θυρών, χρησιμοποιήστε port "<>" | "><" Μετά τις παραμέτρους για το ταίριασμα της αφετηρίας και του προορισμού, οι παρακάτω δύο παράμετροι είναι υποχρεωτικές για να λειτουργεί η σύγχρονη λογική επεξεργασίας των κανόνων. <acronym>TCP</acronym>_FLAG Τα flags είναι ενεργά μόνο στο φιλτράρισμα του πρωτοκόλλου TCP. Το κάθε γράμμα αντιπροσωπεύει ένα πιθανό flag το για το οποίο γίνεται ανίχνευση στην επικεφαλίδα του πακέτου TCP. Η σύγχρονη λογική επεξεργασίας των κανόνων, χρησιμοποιεί την παράμετρο flags S για την αναγνώριση της έναρξης μια συνεδρίας tcp. STATEFUL Σε ένα κανόνα που επιτρέπει (pass) το πέρασμα των πακέτων, η επιλογή keep state δείχνει ότι θα πρέπει να ενεργοποιείται η λειτουργία stateful filtering όταν το πακέτο ταιριάζει με τα κριτήρια επιλογής. Η επιλογή αυτή είναι υποχρεωτική για τη λειτουργία της σύγχρονης λογικής επεξεργασίας κανόνων. Φιλτράρισμα με Διατήρηση της Κατάστασης (stateful) IPFILTER stateful filtering Το stateful φιλτράρισμα, αντιμετωπίζει την κίνηση του δικτύου ως μιας διπλής κατεύθυνσης ανταλλαγή πακέτων τα οποία δημιουργούν μια συνεδρία. Όταν ενεργοποιηθεί, η διατήρηση της κατάστασης (keep-state) δημιουργεί δυναμικά εσωτερικούς κανόνες για κάθε πακέτο το οποίο ανταλλάσσεται κατά τη διάρκεια αυτής της συνεδρίας. Έχει επίσης τη δυνατότητα να διερευνήσει αν ακολουθούνται οι έγκυροι κανόνες ανταλλαγής μηνυμάτων μεταξύ του αποστολέα και του παραλήπτη. Οποιαδήποτε πακέτα δεν ταιριάζουν με το πρότυπο αυτής της επικοινωνίας, απορρίπτονται ως ψεύτικα. Η διατήρηση της κατάστασης επιτρέπει επίσης να περάσουν τα πακέτα ICMP που σχετίζονται με μια συνεδρία TCP ή UDP. Έτσι, αν ληφθούν πακέτα ICMP τύπου 3 code 4 ως απάντηση κατά τη διάρκεια της επίσκεψης σας σε μια ιστοσελίδα, (η οποία επιτρέπεται από τον αντίστοιχο κανόνα εξερχομένων), θα τους επιτραπεί η είσοδος. Οποιοδήποτε πακέτο για το οποίο το IPF είναι σίγουρο ότι πρόκειται για τμήμα μιας ενεργής συνεδρίας, θα περάσει ακόμα και αν είναι διαφορετικό πρωτόκολλο. Αυτό που συμβαίνει είναι το παρακάτω: Τα πακέτα που προορίζονται να εξέλθουν μέσω της διεπαφής που συνδέεται στο Internet, ελέγχονται αρχικά σύμφωνα με το δυναμικό πίνακα καταστάσεων. Αν το πακέτο ταιριάζει με το επόμενο που αναμένεται σε μια ενεργή συνεδρία, εξέρχεται από το firewall και ταυτόχρονα ενημερώνεται η κατάσταση της συγκεκριμένης συνεδρίας στον παραπάνω δυναμικό πίνακα. Τα υπόλοιπα πακέτα (που δεν ταιριάζουν με κάποια συνεδρία σε εξέλιξη) ελέγχονται σύμφωνα με το σύνολο κανόνων για τα εξερχόμενα πακέτα. Τα πακέτα που έρχονται από τη διεπαφή που είναι συνδεμένη με το Internet, ελέγχονται αρχικά μέσω του δυναμικού πίνακα καταστάσεων. Αν το πακέτο ταιριάζει με το επόμενο που αναμένεται σε μια ενεργή συνεδρία, εξέρχεται από το firewall και ταυτόχρονα ενημερώνεται η κατάσταση της συγκεκριμένης συνεδρίας στον παραπάνω πίνακα. Τα υπόλοιπα πακέτα (που δεν ταιριάζουν με κάποια συνεδρία σε εξέλιξη) ελέγχονται σύμφωνα με το σύνολο κανόνων για τα εισερχόμενα πακέτα. Όταν η επικοινωνία ολοκληρωθεί, διαγράφεται από τον δυναμικό πίνακα καταστάσεων. Το stateful φιλτράρισμα επιτρέπει να εστιάσουμε την προσοχή μας στην αποδοχή ή απόρριψη των νέων συνδέσεων. Αν επιτραπεί μια νέα συνεδρία, όλα τα υπόλοιπα πακέτα της θα επιτρέπονται αυτόματα, ενώ τυχόν ψεύτικα πακέτα θα απορρίπτονται επίσης αυτόματα. Το stateful φιλτράρισμα διαθέτει μια σειρά από προχωρημένες ικανότητες διερεύνησης των πακέτων, με δυνατότητα να αμύνεται σε πολλές διαφορετικές μεθόδους που χρησιμοποιούν οι επιτιθέμενοι. Παράδειγμα Συνόλου Κανόνων για ένα Inclusive Firewall Το παρακάτω σύνολο κανόνων δίνεται ως παράδειγμα για να φτιάξετε ένα ιδιαίτερα ασφαλές inclusive firewall. Ένα inclusive firewall επιτρέπει το πέρασμα μόνο των υπηρεσιών που ταιριάζουν με τους κανόνες που έχει για αποδοχή πακέτων, και απορρίπτει όλα τα υπόλοιπα. Τα firewalls που προστατεύουν άλλα μηχανήματα (τα οποία καλούνται και network firewalls) θα πρέπει να διαθέτουν τουλάχιστον δύο διεπαφές. Η μια διεπαφή συνδέεται με το τοπικό δίκτυο (LAN) το οποίο θεωρείται έμπιστο, και η άλλη με το δημόσιο Internet. Εναλλακτικά, ένα firewall μπορεί να προστατεύει μόνο το σύστημα στο οποίο εκτελείται—αυτό καλείται host based firewall και είναι κατάλληλο ιδιαίτερα για εξυπηρετητές που λειτουργούν σε μη έμπιστα δίκτυα. Όλα τα συστήματα τύπου &unix;, συμπεριλαμβανομένου και του &os;, έχουν σχεδιαστεί να χρησιμοποιούν την διεπαφή lo0 και την IP διεύθυνση 127.0.0.1 για εσωτερική επικοινωνία μέσα στο ίδιο το λειτουργικό σύστημα. Το firewall πρέπει να περιέχει κανόνες που να επιτρέπουν την ελεύθερη και χωρίς περιορισμούς κίνηση των ειδικών αυτών εσωτερικών πακέτων. Οι κανόνες που εξουσιοδοτούν την πρόσβαση προς το Internet, ορίζονται στην διεπαφή του δικτύου που συνδέεται σε αυτό. Οι κανόνες αυτοί ελέγχουν τόσο την εισερχόμενη όσο και την εξερχόμενη κίνηση στο Internet. Η διεπαφή αυτή μπορεί να είναι η tun0 που χρησιμοποιείται στο PPP χρήστη, ή ακόμα και η κάρτα δικτύου που συνδέεται σε ένα DSL router ή modem. Σε περίπτωση που μια ή περισσότερες κάρτες δικτύου συνδέονται σε εσωτερικά ιδιωτικά δίκτυα πίσω από το firewall, θα πρέπει να υπάρχουν οι αντίστοιχοι κανόνες που να επιτρέπουν την ελεύθερη διακίνηση των πακέτων ανάμεσα στις διεπαφές αυτές ή/και στο Internet. Οι κανόνες πρέπει να οργανώνονται σε τρεις κύριες ενότητες: αρχικά όλες οι διεπαφές στις οποίες επιτρέπεται η ελεύθερη διακίνηση δεδομένων, έπειτα η διεπαφή από την οποία εξέρχονται τα πακέτα προς το δημόσιο δίκτυο (Internet) και τέλος η διεπαφή από την οποία λαμβάνονται πακέτα από το Internet. Σε κάθε μια από τις ενότητες των διεπαφών που συνδέονται στο Internet, πρέπει να τοποθετούνται πρώτοι οι κανόνες που ταιριάζουν συχνότερα με την αντίστοιχη κίνηση. Ο τελευταίος κανόνας της ενότητας θα πρέπει να απορρίπτει και να καταγράφει όλα τα πακέτα της συγκεκριμένης διεπαφής/κατεύθυνσης. Η ενότητα των Εξερχομένων (Outbound) στο ακόλουθο σύνολο κανόνων, περιέχει μόνο κανόνες τύπου pass οι οποίοι επιτρέπουν (μέσω κατάλληλων τιμών στις παραμέτρους τους) σε συγκεκριμένες υπηρεσίες να αποκτήσουν πρόσβαση στο Internet. Όλοι οι κανόνες διαθέτουν τις επιλογές quick, on, proto, port και keep state. Οι κανόνες proto tcp περιλαμβάνουν την επιλογή flag ώστε να αναγνωρίζουν την αίτηση έναρξης της συνεδρίας και να ενεργοποιούν τη λειτουργία διατήρησης της κατάστασης (stateful). Στην ενότητα των εισερχόμενων πακέτων (Inbound) που φαίνεται παρακάτω, πρώτοι εμφανίζονται οι κανόνες που χρησιμοποιούνται για την απόρριψη των ανεπιθύμητων πακέτων. Αυτό γίνεται για δύο διαφορετικούς λόγους. Ο πρώτος είναι ότι τα κακόβουλα πακέτα μπορεί εν μέρει να ταιριάζουν με κάποια χαρακτηριστικά της έγκυρης κίνησης. Τα πακέτα αυτά θα πρέπει να απορριφθούν, αντί να γίνουν δεκτά από κάποιο επόμενο κανόνα allow. Ο δεύτερος είναι ότι μπορείτε να απορρίψετε συγκεκριμένα πακέτα τα οποία γνωρίζετε ότι δεν είναι έγκυρα, αλλά σας είναι αδιάφορη η καταγραφή τους. Με τον τρόπο αυτό εμποδίζεται η λήψη και καταγραφή τους από τον τελευταίο κανόνα. Ο τελευταίος κανόνας τυπικά απορρίπτει και καταγράφει όλα τα πακέτα που έφτασαν μέχρι αυτόν. Ο κανόνας αυτός χρησιμοποιείται για την παροχή νομικών αποδείξεων σε περίπτωση που κινήσετε δικαστική διαδικασία κατά ατόμων που προέβησαν σε επιθέσεις στο σύστημα σας. Θα πρέπει επίσης να εξασφαλίσετε ότι το σύστημα σας δεν θα δώσει καμιά απάντηση σε κανένα από τα ανεπιθύμητα πακέτα. Τα πακέτα αυτά θα πρέπει να απορριφθούν και να εξαφανιστούν. Με τον τρόπο αυτό, ο επιτιθέμενος δεν έχει καμιά γνώση αν τα πακέτα του έφτασαν μέχρι το σύστημα σας. Όσο λιγότερα μπορούν να μάθουν οι επιτιθέμενοι σχετικά με το σύστημα σας, τόσο περισσότερο χρόνο θα χρειαστεί να επενδύσουν για να καταφέρουν να σας βλάψουν στα αλήθεια. Οι κανόνες με την επιλογή log first καταγράφουν το συμβάν μόνο την πρώτη φορά που ενεργοποιούνται. Η επιλογή αυτή περιλαμβάνεται στον κανόνα nmap OS fingerprint στο παράδειγμα που φαίνεται παρακάτω. Το βοηθητικό πρόγραμμα security/nmap χρησιμοποιείται συχνά από κακόβουλα άτομα, που προσπαθούν με αυτό τον τρόπο να αναγνωρίσουν το λειτουργικό σύστημα του μηχανήματος σας. Κάθε φορά που υπάρχει καταγραφή από κάποιο κανόνα με την επιλογή log first, θα πρέπει να εκτελέσετε την εντολή ipfstat -hio για να δείτε πόσες φορές έχει ενεργοποιηθεί αυτός ο κανόνας συνολικά. Έτσι θα ξέρετε αν π.χ. σας κάνουν επίθεση υπερχείλισης (flood). Δείτε το αρχείο /etc/services για να βρείτε αριθμούς θυρών που δεν αναγνωρίζετε. Μπορείτε επίσης να επισκεφθείτε την τοποθεσία και να κάνετε αναζήτηση για τη συγκεκριμένη θύρα, ώστε να δείτε ποια υπηρεσία εξυπηρετεί. Δείτε την επόμενη τοποθεσία για τις θύρες που χρησιμοποιούνται συνήθως από κακόβουλα προγράμματα (trojans): . Το παρακάτω σύνολο κανόνων είναι αρκετά πλήρες και πολύ ασφαλές. Δημιουργεί firewall τύπου inclusive, και έχει δοκιμαστεί σε πραγματικές συνθήκες λειτουργίας. Μπορεί να εξυπηρετήσει το ίδιο καλά και το δικό σας σύστημα. Απλώς μετατρέψτε σε σχόλιο τους κανόνες για τις υπηρεσίες που δεν θέλετε να ενεργοποιήσετε. Για να αποφύγετε την καταγραφή ανεπιθύμητων μηνυμάτων, απλώς προσθέστε ένα αντίστοιχο κανόνα απόρριψης (block) στην ενότητα των εισερχομένων (inbound). Θα πρέπει να αλλάξετε το όνομα της διεπαφής dc0 του παραδείγματος, με το πραγματικό όνομα της κάρτας δικτύου που συνδέει το σύστημα σας με το Internet. Για όσους χρησιμοποιούν το PPP χρήστη, το όνομα θα είναι tun0. Προσθέστε τις ακόλουθες καταχωρίσεις στο αρχείο /etc/ipf.rules: ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN ################################################################# #pass out quick on xl0 all #pass in quick on xl0 all ################################################################# # No restrictions on Loopback Interface ################################################################# pass in quick on lo0 all pass out quick on lo0 all ################################################################# # Interface facing Public Internet (Outbound Section) # Match session start requests originating from behind the # firewall on the private network # or from this gateway server destined for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # xxx must be the IP address of your ISP's DNS. # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state pass out quick on dc0 proto udp from any to xxx port = 53 keep state # Allow out access to my ISP's DHCP server for cable or DSL networks. # This rule is not needed for 'user ppp' type connection to the # public Internet, so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule pass out log quick on dc0 proto udp from any to any port = 67 keep state #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state # Allow out non-secure standard www function pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state # Allow out secure www function https over TLS SSL pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state # Allow out send & get email function pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state # Allow out Time pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state # Allow out nntp news pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state # Allow out gateway & LAN users' non-secure FTP ( both passive & active modes) # This function uses the IPNAT built in FTP proxy function coded in # the nat rules file to make this single rule function correctly. # If you want to use the pkg_add command to install application packages # on your gateway system you need this rule. pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state # Allow out ssh/sftp/scp (telnet/rlogin/FTP replacements) # This function is using SSH (secure shell) pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state # Allow out insecure Telnet pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow out FreeBSD CVSup function pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state # Allow out ping to public Internet pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state # Allow out whois from LAN to public Internet pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state # Block and log only the first occurrence of everything # else that's trying to get out. # This rule implements the default block block out log first quick on dc0 all ################################################################# # Interface facing Public Internet (Inbound Section) # Match packets originating from the public Internet # destined for this gateway server or the private network. ################################################################# # Block all inbound traffic from non-routable or reserved address spaces block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 private IP block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 private IP block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 private IP block in quick on dc0 from 127.0.0.0/8 to any #loopback block in quick on dc0 from 0.0.0.0/8 to any #loopback block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto-config block in quick on dc0 from 192.0.2.0/24 to any #reserved for docs block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect block in quick on dc0 from 224.0.0.0/3 to any #Class D & E multicast ##### Block a bunch of different nasty things. ############ # That I do not want to see in the log # Block frags block in quick on dc0 all with frags # Block short tcp packets block in quick on dc0 proto tcp all with short # block source routed packets block in quick on dc0 all with opt lsrr block in quick on dc0 all with opt ssrr # Block nmap OS fingerprint attempts # Log first occurrence of these so I can get their IP address block in log first quick on dc0 proto tcp from any to any flags FUP # Block anything with special options block in quick on dc0 all with ipopts # Block public pings block in quick on dc0 proto icmp all icmp-type 8 # Block ident block in quick on dc0 proto tcp from any to any port = 113 # Block all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 block in log first quick on dc0 proto tcp/udp from any to any port = 137 block in log first quick on dc0 proto tcp/udp from any to any port = 138 block in log first quick on dc0 proto tcp/udp from any to any port = 139 block in log first quick on dc0 proto tcp/udp from any to any port = 81 # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP's DHCP server as it's the only # authorized source to send this packet type. Only necessary for # cable or DSL configurations. This rule is not needed for # 'user ppp' type connection to the public Internet. # This is the same IP address you captured and # used in the outbound section. pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state # Allow in standard www function because I have apache server pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID/PW passed over public Internet as clear text. # Delete this sample group if you do not have telnet server enabled. #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow in secure FTP, Telnet, and SCP from public Internet # This function is using SSH (secure shell) pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state # Block and log only first occurrence of all remaining traffic # coming into the firewall. The logging of only the first # occurrence avoids filling up disk with Denial of Service logs. # This rule implements the default block. block in log first quick on dc0 all ################### End of rules file ##################################### <acronym>NAT</acronym> NAT IP masquerading NAT network address translation NAT Το NAT είναι ακρωνύμιο των λέξεων Network Address Translation ή Μετάφραση Διευθύνσεων Δικτύου. Για όσους είναι εξοικειωμένοι με το &linux;, βασίζεται στην αρχή του IP Masquerading. Στην πραγματικότητα το NAT και το IP Masquerading είναι το ίδιο πράγμα. Μια από τις πολλές δυνατότητες που παρέχει η λειτουργία NAT του IPF, είναι και η δυνατότητα να έχουμε ένα ιδιωτικό τοπικό δίκτυο (LAN) πίσω από το firewall το οποίο να μοιράζεται μια μοναδική δημόσια διεύθυνση IP στο Internet. Ίσως να αναρωτηθείτε γιατί να θέλει κάποιος να το κάνει αυτό. Οι ISPs συνήθως αποδίδουν δυναμικές διευθύνσεις σε μη εταιρικούς πελάτες. Αυτό ουσιαστικά σημαίνει ότι η διεύθυνση IP που αποδίδεται στο μηχάνημα σας, μπορεί να είναι διαφορετική κάθε φορά που κάνετε κλήση για να συνδεθείτε. Για τους χρήστες DSL modem και router, η αλλαγή διεύθυνσης πραγματοποιείται κάθε φορά που ενεργοποιείται το modem. Η διεύθυνση IP που σας αποδίδεται από τον ISP σας, είναι αυτή με την οποία φαίνεστε στο Internet. Ας υποθέσουμε τώρα ότι έχετε πέντε PC στο σπίτι σας, και χρειάζεστε σε όλα σύνδεση Internet. Κανονικά, θα έπρεπε να πληρώσετε τον ISP σας χωριστό λογαριασμό για κάθε PC και να διαθέτετε πέντε γραμμές τηλεφώνου. Με το NAT, χρειάζεστε μόνο ένα λογαριασμό με τον ISP σας. Μπορείτε απλώς να συνδέσετε τα τέσσερα PC σε ένα διανομέα ή switch στο οποίο θα συνδέσετε επίσης και το &os; μηχάνημα σας. Το μηχάνημα αυτό θα ενεργεί ως πύλη του τοπικού σας δικτύου για το Internet. Το NAT θα μεταφράσει αυτόματα τις ιδιωτικές διευθύνσεις IP του κάθε μηχανήματος στην μοναδική δημόσια IP διεύθυνση που έχετε, καθώς το πακέτο φεύγει από το firewall και κατευθύνεται προς το Internet. Εκτελεί επίσης και την αντίστροφη μετάφραση για τα πακέτα που επιστρέφουν. Υπάρχει μια ειδική περιοχή διευθύνσεων IP που έχουν παραχωρηθεί για χρήση σε τοπικά δίκτυα με NAT. Σύμφωνα με το RFC 1918, μπορείτε να χρησιμοποιήσετε για αυτό το σκοπό τις παρακάτω περιοχές, οι οποίες δεν δρομολογούνται ποτέ απευθείας στο δημόσιο Internet: Αρχικό IP 10.0.0.0 - Τελικό IP 10.255.255.255 Αρχικό IP 172.16.0.0 - Τελικό IP 172.31.255.255 Αρχικό IP 192.168.0.0 - Τελικό IP 192.168.255.255 IP<acronym>NAT</acronym> NAT and IPFILTER ipnat Οι κανόνες του NAT φορτώνονται με τη χρήση της εντολής ipnat. Τυπικά, οι κανόνες του NAT αποθηκεύονται στο αρχείο /etc/ipnat.rules. Δείτε τη σελίδα manual του &man.ipnat.1; για λεπτομέρειες. Για να αλλάξετε τους κανόνες του NAT καθώς αυτό εκτελείται, τροποποιήστε το αρχείο που τους περιέχει, και εκτελέστε την εντολή ipnat με την παράμετρο για να διαγράψετε τους εσωτερικούς κανόνες του NAT και να αδειάσετε όλες τις ενεργές καταχωρίσεις του πίνακα μεταφράσεων. Για να φορτώσετε τους κανόνες του NAT από την αρχή, εκτελέστε μια εντολή όπως την παρακάτω: &prompt.root; ipnat -CF -f /etc/ipnat.rules Για να δείτε κάποια στατιστικά σχετικά με το NAT, χρησιμοποιήστε την παρακάτω εντολή: &prompt.root; ipnat -s Για να δείτε μια λίστα με τις τρέχουσες καταχωρίσεις του πίνακα NAT, χρησιμοποιήστε την παρακάτω εντολή: &prompt.root; ipnat -l Για να ενεργοποιήσετε την λεπτομερή απεικόνιση μηνυμάτων και να δείτε πληροφορίες που σχετίζονται με την επεξεργασία των κανόνων και τους ενεργούς κανόνες και καταχωρίσεις στον πίνακα, γράψτε: &prompt.root; ipnat -v Κανόνες του IP<acronym>NAT</acronym> Οι κανόνες του NAT είναι αρκετά ευέλικτοι, και διαθέτουν πλήθος δυνατοτήτων ώστε να καλύπτουν τις ανάγκες των οικιακών αλλά και των επιχειρησιακών χρηστών. Η σύνταξη των κανόνων που παρουσιάζεται εδώ, έχει απλοποιηθεί ώστε να συμβαδίζει με τη συνήθη χρήση σε μη-εμπορικά περιβάλλοντα. Για πιο πλήρη περιγραφή της σύνταξης, δείτε τη σελίδα manual του &man.ipnat.5;. Η σύνταξη ενός κανόνα NAT μοιάζει με την παρακάτω: map IF LAN_IP_RANGE -> PUBLIC_ADDRESS Ο κανόνας ξεκινάει με τη λέξη map. Αντικαταστήστε το IF με την εξωτερική διεπαφή (τη κάρτα δικτύου που συνδέεται στο Internet). Η παράμετρος LAN_IP_RANGE είναι η περιοχή διευθύνσεων που χρησιμοποιείται από το εσωτερικό σας δίκτυο. Στην πραγματικότητα θα μοιάζει με κάτι σαν το 192.168.1.0/24. Η παράμετρος PUBLIC_ADDRESS μπορεί να είναι είτε η εξωτερική IP διεύθυνση, είτε η ειδική λέξη 0/32, η οποία σημαίνει ότι θα χρησιμοποιηθεί η IP διεύθυνση που έχει αποδοθεί στο IF. Πως λειτουργεί το <acronym>NAT</acronym> Ένα πακέτο φτάνει στο firewall από το LAN με προορισμό το Internet. Περνάει διαμέσου των κανόνων φιλτραρίσματος εξερχομένων, όπου γίνεται η επεξεργασία του από το NAT. Οι κανόνες εφαρμόζονται από τον πρώτο και προς τα κάτω, και κερδίζει ο πρώτος που ταιριάζει. Ο έλεγχος γίνεται με βάση τη διεπαφή από την οποία λήφθηκε το πακέτο και τη διεύθυνση IP από την οποία προέρχεται. Όταν το όνομα της διεπαφής ενός πακέτου ταιριάζει με κάποιο κανόνα του NAT, η διεύθυνση IP της αφετηρίας (που προέρχεται από το ιδιωτικό δίκτυο) ελέγχεται για να εξακριβωθεί αν ταιριάζει με την περιοχή διευθύνσεων που καθορίζεται στην αριστερά πλευρά του συμβόλου (βέλος) του κανόνα NAT. Αν ταιριάζει, η διεύθυνση του πακέτου ξαναγράφεται, χρησιμοποιώντας τη δημόσια διεύθυνση IP η οποία παρέχεται από το 0/32. Το NAT δημιουργεί μια καταχώριση στον εσωτερικό του πίνακα, έτσι ώστε όταν επιστρέψει η απάντηση από το Internet, να μπορεί να αντιστοιχηθεί ξανά στην αρχική ιδιωτική διεύθυνση IP και να περάσει έπειτα από τους κανόνες του φίλτρου για περαιτέρω επεξεργασία. Ενεργοποιώντας το IP<acronym>NAT</acronym> Για να ενεργοποιήσετε το IPNAT, προσθέστε τις παρακάτω γραμμές στο /etc/rc.conf. Για να επιτρέψετε στο μηχάνημα σας να δρομολογεί πακέτα μεταξύ διεπαφών δικτύου: gateway_enable="YES" Για να ξεκινάει αυτόματα το IPNAT σε κάθε εκκίνηση: ipnat_enable="YES" Για να καθορίσετε από που επιθυμείτε να φορτώνονται οι κανόνες του IPNAT: ipnat_rules="/etc/ipnat.rules" Το <acronym>NAT</acronym> σε Ένα Μεγάλο Τοπικό Δίκτυο Για τοπικά δίκτυα με μεγάλο αριθμό υπολογιστών, ή για δίκτυα που διασυνδέουν περισσότερα από ένα LAN, η διαδικασία της μετατροπής όλων αυτών των ιδιωτικών διευθύνσεων σε μια μοναδική δημόσια διεύθυνση, δημιουργεί πρόβλημα κατανομής πόρων, καθώς χρησιμοποιούνται πολλές φορές οι ίδιοι αριθμοί θυρών, οδηγώντας τα PC του δικτύου σε συγκρούσεις. Υπάρχουν δύο τρόποι για να ελαττώσουμε αυτό το πρόβλημα. Ανάθεση των θυρών που θα Χρησιμοποιηθούν Ένα συνηθισμένος κανόνας NAT μοιάζει με τον παρακάτω: map dc0 192.168.1.0/24 -> 0/32 Στον παραπάνω κανόνα, η θύρα αφετηρίας του πακέτου παραμένει αναλλοίωτη καθώς το πακέτο διέρχεται μέσω του IPNAT. Αν προσθέσετε την λέξη-κλειδί portmap, μπορείτε να ρυθμίσετε το IPNAT να χρησιμοποιεί θύρες που ανήκουν σε μια καθορισμένη περιοχή. Για παράδειγμα, ο παρακάτω κανόνας θα οδηγήσει το NAT να τροποποιήσει την θύρα της αφετηρίας, ώστε να είναι μέσα στην περιοχή που φαίνεται: map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000 Μπορούμε επίσης να απλοποιήσουμε ακόμα περισσότερο τη διαδικασία χρησιμοποιώντας τη λέξη auto ώστε το IPNAT να καθορίζει από μόνο του ποιες θύρες είναι διαθέσιμες για χρήση: map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto Χρησιμοποιώντας ένα Απόθεμα Δυναμικών Διευθύνσεων Σε ένα πολύ μεγάλο τοπικό δίκτυο, αργά ή γρήγορα φτάνουμε στο σημείο που μια μοναδική δημόσια διεύθυνση δεν επαρκεί για να καλύψει τόσες πολλές ιδιωτικές. Αν υπάρχει διαθέσιμο ένα εύρος δημοσίων διευθύνσεων, μπορούν να χρησιμοποιηθούν ως απόθεμα (pool), επιτρέποντας στην IPNAT να επιλέξει μια από αυτές καθώς αντιστοιχεί τα πακέτα κατά την έξοδο τους προς το δημόσιο δίκτυο. Για παράδειγμα, αντί να αντιστοιχούν όλα τα πακέτα μέσω μιας μοναδικής δημόσιας IP διεύθυνσης όπως παρακάτω: map dc0 192.168.1.0/24 -> 204.134.75.1 μπορούμε να χρησιμοποιήσουμε ένα εύρος IP διευθύνσεων, είτε με τη χρήση μάσκας δικτύου: map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0 είτε με συμβολισμό CIDR: map dc0 192.168.1.0/24 -> 204.134.75.0/24 Ανακατεύθυνση Θυρών Είναι κοινή πρακτική να εγκαθίστανται υπηρεσίες όπως ο εξυπηρετητής ιστοσελίδων, ταχυδρομείου, βάσης δεδομένων και DNS σε διαφορετικά PC στο τοπικό δίκτυο. Στην περίπτωση αυτή, η κίνηση πακέτων από αυτά τα μηχανήματα εξακολουθεί να χρειάζεται το NAT, αλλά χρειάζεται επίσης να υπάρχει κάποιος τρόπος να κατευθύνεται η εισερχόμενη κίνηση στα σωστά PC του δικτύου. Το IPNAT έχει τις κατάλληλες δυνατότητες για την επίλυση αυτού του προβλήματος. Για παράδειγμα, έστω ότι ένας εξυπηρετητής ιστοσελίδων βρίσκεται στην διεύθυνση LAN 10.0.10.25 και η μοναδική δημόσια IP είναι 20.20.20.5. Ο κανόνας που θα γράφατε θα έμοιαζε με τον παρακάτω: rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80 ή: rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80 ή για ένα εξυπηρετητή DNS με διεύθυνση στο τοπικό δίκτυο 10.0.10.33 ο οποίος πρέπει να δέχεται αναζητήσεις από το δημόσιο δίκτυο: rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp FTP και <acronym>NAT</acronym> Το FTP είναι ένας δεινόσαυρος που έχει απομείνει από την εποχή που το Internet ήταν στα αρχικά του στάδια, όπου τα ερευνητικά εργαστήρια των πανεπιστήμιων ήταν συνδεμένα μεταξύ τους με μισθωμένες γραμμές και οι ερευνητές το χρησιμοποιούσαν για να στέλνουν αρχεία ο ένας στον άλλο. Την εποχή εκείνη, δεν υπήρχαν ανησυχίες σχετικά με την ασφάλεια. Με το πέρασμα του χρόνου, το FTP θάφτηκε στο πίσω μέρος του ταχέως εξελισσόμενου Internet. Δεν εξελίχθηκε ποτέ ώστε να ξεπεράσει προβλήματα ασφάλειας, όπως π.χ. το γεγονός ότι στέλνει το όνομα και τον κωδικό του χρήστη ως απλό κείμενο. Το FTP έχει δυο καταστάσεις λειτουργίας, την ενεργή και την παθητική. Η διαφορά είναι στο πως γίνεται η ανάκτηση του καναλιού δεδομένων. Η παθητική λειτουργία είναι πιο ασφαλής, καθώς το κανάλι δεδομένων αποτελεί το κύριο κανάλι της συνεδρίας. Μπορείτε να βρείτε πολύ καλή περιγραφή του πρωτοκόλλου και των διαφορετικών τρόπων λειτουργίας του, στο . Κανόνες του IP<acronym>NAT</acronym> Το IPNAT διαθέτει μια ειδική επιλογή για διαμεσολάβηση FTP (proxy) η οποία μπορεί να καθοριστεί στον κατάλληλο κανόνα του NAT. Μπορεί να παρακολουθήσει όλα τα εξερχόμενα πακέτα για να ανιχνεύσει την έναρξη μιας ενεργής ή παθητικής συνεδρίας FTP, και να δημιουργήσει δυναμικά προσωρινούς κανόνες στο φίλτρο που να περιέχουν μόνο τον αριθμό της θύρας που χρησιμοποιείται από το κανάλι δεδομένων. Αυτό εξαλείφει το πρόβλημα ασφάλειας που δημιουργείται από το γεγονός ότι διαφορετικά θα χρειαζόταν να ανοιχθεί μια μεγάλη περιοχή θυρών (στην υψηλή περιοχή) στο firewall. Ο παρακάτω κανόνας χειρίζεται όλα τα δεδομένα για το εσωτερικό δίκτυο (LAN): map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp Ο παρακάτω κανόνας χειρίζεται την κίνηση FTP από την πύλη (gateway): map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp Ο παρακάτω κανόνας χειρίζεται όλη την κίνηση από το εσωτερικό LAN που δεν ανήκει στο πρωτόκολλο FTP: map dc0 10.0.10.0/29 -> 0/32 Ο κανόνας χαρτογράφησης του FTP τοποθετείται πριν από τον κανονικό κανόνα χαρτογράφησης. Κάθε πακέτο ελέγχεται αρχικά από τον κανόνα που βρίσκεται στην κορυφή. Αν ταιριάζει στη διεπαφή και στην ιδιωτική διεύθυνση IP και πρόκειται για πακέτο FTP, ο διαμεσολαβητής FTP δημιουργεί προσωρινούς κανόνες στο φίλτρο οι οποίοι επιτρέπουν την εισερχόμενη και εξερχόμενη κίνηση FTP ενώ ταυτόχρονα εκτελούν και την απαραίτητη μετάφραση NAT. Όλα τα πακέτα που δεν ανήκουν σε μετάδοση FTP δεν ταιριάζουν με τον πρώτο κανόνα, έτσι κατευθύνονται στον τρίτο κανόνα, εξετάζονται όσο αφορά τη διεπαφή και το IP από το οποίο προέρχονται, και γίνεται η αντίστοιχη μετάφραση τους από το NAT. Κανόνες Φίλτρου για το IP<acronym>NAT</acronym> Όταν χρησιμοποιείται ο μεσολαβητής FTP, χρειάζεται μόνο ένας κανόνας για το NAT. Χωρίς το μεσολαβητή FTP, χρειάζονται οι παρακάτω τρεις κανόνες: # Allow out LAN PC client FTP to public Internet # Active and passive modes pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state # Allow out passive mode data channel high order port numbers pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state # Active mode let data channel in from FTP server pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state IPFW firewall IPFW Το IPFIREWALL (IPFW) είναι λογισμικό που αναπτύχθηκε για το &os;. Έχει γραφεί και συντηρείται από εθελοντές που ανήκουν στο Project. Χρησιμοποιεί τους κλασικούς κανόνες χωρίς διατήρηση της κατάστασης (stateless) καθώς και μια τεχνική κωδικοποίησης που επιτυγχάνει αυτό που αναφέρεται ως Απλή Stateful Λογική (Simple Stateful Logic). Το υπόδειγμα κανόνων για το IPFW (στα αρχεία /etc/rc.firewall και /etc/rc.firewall6) της τυπικής εγκατάστασης του &os; είναι μάλλον απλό και θα χρειαστεί να κάνετε κάποιες αλλαγές πριν το χρησιμοποιήσετε. Το παράδειγμα δεν χρησιμοποιεί φιλτράρισμα τύπου stateful. Η stateful λειτουργία είναι ευεργετική στις περισσότερες περιπτώσεις, έτσι δεν θα χρησιμοποιήσουμε αυτό το παράδειγμα ως βάση αυτής της ενότητας. Η σύνταξη των κανόνων stateless του IPFW έχει ενισχυθεί με εξελιγμένες δυνατότητες επιλογής οι οποίες συνήθως ξεπερνάνε κατά πολύ τις τυπικές γνώσεις του ατόμου που καλείται να το ρυθμίσει. Το IPFW απευθύνεται στον επαγγελματία χρήστη ή τον τεχνικά προχωρημένο χομπίστα, ο οποίος έχει ανάγκη προχωρημένου φιλτραρίσματος πακέτων. Η πραγματική δύναμη των κανόνων του IPFW αποκαλύπτεται μόνο αν διαθέτετε προχωρημένες γνώσεις σχετικά με το πως διαφορετικά πρωτόκολλα δημιουργούν και χρησιμοποιούν την επικεφαλίδα των πακέτων τους. Τέτοιο επίπεδο επεξηγήσεων είναι πέρα από το σκοπό αυτής της ενότητας του Εγχειριδίου. Το IPFW αποτελείται από επτά εξαρτήματα. Το βασικό εξάρτημα είναι ο επεξεργαστής κανόνων του firewall στον πυρήνα, με ενσωματωμένη τη δυνατότητα καταγραφής. Τα υπόλοιπα εξαρτήματα είναι το σύστημα καταγραφής (logging), ο κανόνας divert ο οποίος ενεργοποιεί τη λειτουργία NAT, καθώς και οι προχωρημένες δυνατότητες ειδικού σκοπού: το σύστημα διαμόρφωσης κίνησης (traffic shaper) dummynet, η δυνατότητα προώθησης μέσω του fwd rule, η δυνατότητα γεφύρωσης (bridge) καθώς και η δυνατότητα απόκρυψης (ipstealth). To IPFW υποστηρίζει τόσο το πρωτόκολλο IPv4 όσο και το IPv6. Ενεργοποιώντας το IPFW IPFW enabling Το IPFW περιλαμβάνεται στην βασική εγκατάσταση του &os; ως άρθρωμα του πυρήνα το οποίο μπορεί να φορτωθεί δυναμικά. Το σύστημα θα φορτώσει δυναμικά το άρθρωμα όταν βρει την καταχώριση firewall_enable="YES" στο αρχείο /etc/rc.conf. Δεν χρειάζεται να μεταγλωττίσετε το IPFW μέσα στον πυρήνα, εκτός αν θέλετε να χρησιμοποιήσετε τις λειτουργίες NAT που παρέχει. Αφού επανεκκινήσετε το σύστημα σας με την καταχώριση firewall_enable="YES" στο rc.conf, θα δείτε με άσπρα έντονα γράμματα το ακόλουθο μήνυμα κατά τη διαδικασία της εκκίνησης: ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled Το άρθρωμα έχει ενσωματωμένη τη δυνατότητα καταγραφής. Για να ενεργοποιήσετε την καταγραφή και να θέσετε το επίπεδο λεπτομέρειας, υπάρχουν κάποιες ρυθμίσεις που μπορείτε να θέσετε στο /etc/sysctl.conf. Προσθέτοντας τις παρακάτω καταχωρίσεις, θα ενεργοποιηθεί η καταγραφή στις επόμενες εκκινήσεις: net.inet.ip.fw.verbose=1 net.inet.ip.fw.verbose_limit=5 Επιλογές του Πυρήνα kernel options IPFIREWALL kernel options IPFIREWALL_VERBOSE kernel options IPFIREWALL_VERBOSE_LIMIT IPFW kernel options Δεν είναι υποχρεωτικό να ενεργοποιήσετε το IPFW μεταγλωττίζοντας τις παρακάτω επιλογές στον πυρήνα του &os;, εκτός και αν θέλετε να χρησιμοποιήσετε NAT. Ο σκοπός αυτής της παρουσίασης είναι καθαρά ενημερωτικός. options IPFIREWALL Η επιλογή αυτή ενεργοποιεί το IPFW ως μέρος του πυρήνα. options IPFIREWALL_VERBOSE Ενεργοποιεί την καταγραφή των πακέτων που περνούν μέσω του IPFW και περιλαμβάνουν τη λέξη log στον κανόνα τους. options IPFIREWALL_VERBOSE_LIMIT=5 Περιορίζει τον πλήθος των πακέτων που καταγράφονται μέσω του &man.syslogd.8; σε συγκεκριμένο αριθμό ανά καταχώριση. Η ρύθμιση είναι χρήσιμη σε εχθρικά περιβάλλοντα στα οποία είναι επιθυμητή η καταγραφή. Με αυτό τον τρόπο μπορεί να αποφευχθεί μια πιθανή επίθεση με στόχο την υπερχείλιση των αρχείων καταγραφής. kernel options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_DEFAULT_TO_ACCEPT Η επιλογή αυτή αφήνει τα πάντα να περνάνε μέσα από το firewall, το οποίο είναι καλή ιδέα την πρώτη φορά που ρυθμίζετε το firewall σας. kernel options IPDIVERT options IPDIVERT Η επιλογή αυτή ενεργοποιεί τη λειτουργία NAT. Το firewall θα απορρίπτει όλα τα πακέτα που κατευθύνονται από και προς το μηχάνημα, αν δεν περιλάβετε την επιλογή IPFIREWALL_DEFAULT_TO_ACCEPT ή αν δεν ρυθμίσετε ένα κατάλληλο κανόνα που να επιτρέπει αυτές τις συνδέσεις. Επιλογές στο <filename>/etc/rc.conf</filename> Ενεργοποιήστε το firewall: firewall_enable="YES" Για να επιλέξετε ένα από τους προεπιλεγμένους τύπους firewall που υποστηρίζονται από το &os;, διαβάστε το αρχείο /etc/rc.firewall και δημιουργήστε μια εγγραφή όπως την παρακάτω: firewall_type="open" Οι διαθέσιμες τιμές για αυτή τη ρύθμιση είναι: open — επιτρέπει τη διέλευση όλης της κίνησης. client — προστατεύει μόνο το συγκεκριμένο μηχάνημα. simple — προστατεύει ολόκληρο το δίκτυο. closed — απενεργοποιεί εντελώς την κίνηση πακέτων, εκτός από την εσωτερική διεπαφή (loopback). UNKNOWN — απενεργοποιεί την φόρτωση κανόνων του firewall. filename — το πλήρες μονοπάτι του αρχείου που περιέχει τους κανόνες του firewall. Μπορείτε να χρησιμοποιήσετε δύο διαφορετικούς τρόπους για να φορτώσετε προσαρμοσμένους κανόνες στο ipfw firewall. Ο ένας είναι θέτοντας τη μεταβλητή firewall_type στην απόλυτη διαδρομή του αρχείου που περιέχει τους κανόνες του firewall, χωρίς να δώσετε ορίσματα στην γραμμή εντολών για το ίδιο το &man.ipfw.8;. Το αρχείο κανόνων που φαίνεται παρακάτω, απορρίπτει όλη την εισερχόμενη και εξερχόμενη κίνηση: add deny in add deny out Από την άλλη μεριά, είναι επίσης δυνατό να θέσετε τη μεταβλητή firewall_script στην απόλυτη διαδρομή ενός εκτελέσιμου script που περιλαμβάνει μια σειρά από εντολές ipfw που θα εκτελεστούν κατά την εκκίνηση. Ένα έγκυρο τέτοιο script το οποίο είναι αντίστοιχο με το αρχείο κανόνων που δείξαμε παραπάνω, είναι το ακόλουθο: #!/bin/sh ipfw -q flush ipfw add deny in ipfw add deny out Αν θέσετε την τιμή του firewall_type είτε σε client είτε σε simple, θα πρέπει να ελέγξετε ότι οι προεπιλεγμένοι κανόνες που περιέχονται στο /etc/rc.firewall ταιριάζουν με τις ρυθμίσεις του συγκεκριμένου μηχανήματος. Παρατηρήστε επίσης ότι τα παραδείγματα που χρησιμοποιούνται σε αυτό το κεφάλαιο αναμένουν να να έχετε θέσει τη μεταβλητή firewall_script στην τιμή /etc/ipfw.rules. Ενεργοποιήστε την καταγραφή: firewall_logging="YES" Το μόνο πράγμα που κάνει η μεταβλητή firewall_logging είναι να θέσει την τιμή της μεταβλητής sysctl net.inet.ip.fw.verbose στην τιμή 1 (δείτε το ). Δεν υπάρχει μεταβλητή του rc.conf που να ορίζει περιορισμούς στην καταγραφή, αλλά αυτό μπορεί να ρυθμιστεί μέσω της παραπάνω μεταβλητής sysctl είτε χειροκίνητα, είτε μέσω του αρχείου /etc/sysctl.conf: net.inet.ip.fw.verbose_limit=5 Αν το μηχάνημα σας λειτουργεί ως πύλη (gateway), δηλαδή παρέχει υπηρεσία μετάφρασης διευθύνσεων δικτύου (Network Address Translation, NAT) μέσω του &man.natd.8;, παρακαλούμε να διαβάσετε το για πληροφορίες σχετικά με τις ρυθμίσεις που απαιτούνται στο αρχείο /etc/rc.conf. Η Εντολή IPFW ipfw Η εντολή ipfw είναι ο συνήθης τρόπος για την προσθήκη η διαγραφή κανόνων στους εσωτερικούς ενεργούς κανόνες του firewall, καθώς αυτό εκτελείται. Το πρόβλημα με τη χρήση αυτής της μεθόδου είναι ότι οι αλλαγές χάνονται με τον τερματισμό λειτουργίας του μηχανήματος. Μπορείτε να γράψετε όλους τους κανόνες σας σε ένα αρχείο και να το χρησιμοποιείτε για να τους φορτώνετε στην εκκίνηση. Μπορείτε να χρησιμοποιήσετε το ίδιο αρχείο για να αντικαταστήσετε τους τρέχοντες κανόνες του firewall, την ώρα που αυτό εκτελείται. Αυτός είναι και ο συνιστώμενος τρόπος που χρησιμοποιούμε στα παραδείγματα μας. Η εντολή ipfw είναι επίσης χρήσιμη για να απεικονίζει τους τρέχοντες κανόνες στη κονσόλα σας. Το σύστημα καταγραφής χρήσης της IPFW δημιουργεί αυτόματα ένα μετρητή για κάθε κανόνα, ο οποίος μετράει πόσα πακέτα ταίριαξαν με αυτόν. Κατά τη διάρκεια των δοκιμών, η δυνατότητα να ελέγξετε την τιμή του μετρητή είναι ένας τρόπος για να διαπιστώσετε αν ο κανόνας λειτουργεί κανονικά. Για να δείτε όλους τους κανόνες με τη σειρά: &prompt.root; ipfw list Για να δείτε μια λίστα όλων των κανόνων, μαζί με την ώρα που ενεργοποιήθηκε τελευταία φορά ο κάθε κανόνας, γράψτε: &prompt.root; ipfw -t list Το επόμενο παράδειγμα δείχνει τον αριθμό των πακέτων που ταίριαξαν μαζί με τον αντίστοιχο κανόνα. Η πρώτη στήλη δείχνει τον αριθμό του κανόνα, ακολουθείται από τον αριθμό πακέτων που ταίριαξαν (πρώτα τα εξερχόμενα και μετά τα εισερχόμενα) και τέλος από τον ίδιο τον κανόνα. &prompt.root; ipfw -a list Για να δείτε μια λίστα που να περιλαμβάνει τόσο τους δυναμικούς όσο και τους στατικούς κανόνες: &prompt.root; ipfw -d list Για να δείτε και τους δυναμικούς κανόνες που έχουν λήξει: &prompt.root; ipfw -d -e list Για να μηδενίσετε τους μετρητές: &prompt.root; ipfw zero Για να μηδενίσετε τους μετρητές μόνο για τον κανόνα με τον αριθμό NUM: &prompt.root; ipfw zero NUM Το Σύνολο Κανόνων του IPFW Ως σύνολο κανόνων στο IPFW, ορίζουμε μια ομάδα κανόνων που έχουν γραφεί για να επιτρέπουν ή να απορρίπτουν πακέτα ανάλογα με τις τιμές που περιέχονται σε αυτά. Η διπλής κατεύθυνσης ανταλλαγή πακέτων μεταξύ υπολογιστών αποτελεί μια συνεδρία. Το σύνολο κανόνων του firewall επεξεργάζεται τόσο τα πακέτα που έρχονται από το Internet, όσο και τα πακέτα που παράγονται από το σύστημα ως απάντηση σε αυτά. Κάθε υπηρεσία TCP/IP (π.χ. telnet, www, mail, κ.λ.π.) καθορίζεται από το πρωτόκολλο και την προνομιακή (privileged) θύρα που χρησιμοποιεί για να δέχεται αιτήματα εξυπηρέτησης. Τα πακέτα που προορίζονται για μια συγκεκριμένη υπηρεσία, ξεκινούν από τη διεύθυνση αφετηρίας χρησιμοποιώντας μια μη-προνομιακή θύρα και καταλήγουν στη συγκεκριμένη θύρα υπηρεσίας στον προορισμό. Όλες οι παραπάνω παράμετροι (θύρες και διευθύνσεις) μπορούν να χρησιμοποιηθούν ως κριτήρια επιλογής για την δημιουργία κανόνων που επιτρέπουν ή εμποδίζουν την πρόσβαση σε υπηρεσίες. IPFW rule processing order Όταν ένα πακέτο εισέρχεται στο firewall, συγκρίνεται με βάση τον πρώτο κανόνα. Η σύγκριση συνεχίζεται διαδοχικά με τους υπόλοιπους κανόνες, από τον πρώτο προς τον τελευταίο, με βάση τον αύξοντα αριθμό τους. Όταν το πακέτο ταιριάξει με τις παραμέτρους επιλογής κάποιου κανόνα, εκτελείται η οδηγία που αναφέρεται στο πεδίο ενεργειών του κανόνα αυτού και η αναζήτηση κανόνων για το συγκεκριμένο πακέτο τερματίζεται. Σε αυτή τη μέθοδο αναζήτησης, ο πρώτος κανόνας που ταιριάζει, είναι ο νικητής. Αν το πακέτο δεν ταιριάζει με κανένα από τους κανόνες, θα ληφθεί από τον υποχρεωτικό προεπιλεγμένο κανόνα του IPFW, με αριθμό 65535, ο οποίος εμποδίζει τη διέλευση όλων των πακέτων, και τα απορρίπτει χωρίς να στείλει καμιά απάντηση στον αρχικό αποστολέα τους. Η αναζήτηση συνεχίζεται μετά από κανόνες τύπου count, skipto και tee. Οι οδηγίες που φαίνονται εδώ, βασίζονται στη χρήση κανόνων που περιέχουν τις οδηγίες keep state, limit, in, out και via. Αυτές είναι και οι βασικές λειτουργίες για την δόμηση ενός firewall τύπου inclusive με stateful λειτουργία. Να δίνετε μεγάλη προσοχή όταν δουλεύετε με τους κανόνες ενός firewall. Μπορεί άθελα σας να κλειδωθείτε έξω από το σύστημα σας. Σύνταξη Κανόνων IPFW rule syntax Στην ενότητα αυτή, θα παρουσιάσουμε μια απλοποιημένη σύνταξη κανόνων. Δείχνουμε μόνο ότι χρειάζεται για να δημιουργηθεί ένα τυποποιημένο σύνολο κανόνων για ένα inclusive firewall. Για πλήρη περιγραφή, δείτε τη σελίδα manual του &man.ipfw.8;. Οι κανόνες περιέχουν λέξεις-κλειδιά. Οι λέξεις αυτές θα πρέπει να κωδικοποιηθούν με συγκεκριμένη σειρά από τα αριστερά προς τα δεξιά της γραμμής. Οι λέξεις-κλειδιά φαίνονται παρακάτω με έντονα γράμματα. Μερικές λέξεις έχουν υπο-επιλογές οι οποίες μπορεί να είναι επίσης λέξεις-κλειδιά και να περιλαμβάνουν επίσης ακόμα περισσότερες υπο-επιλογές. Η αρχή ενός σχολίου, σηματοδοτείται με το σύμβολο #, το οποίο μπορεί να εμφανίζεται στο τέλος μιας γραμμής κανόνα, ή και σε μια δική του γραμμή. Οι κενές γραμμές αγνοούνται. CMD RULE_NUMBER ACTION LOGGING SELECTION STATEFUL CMD Για να γίνει η προσθήκη ενός νέου κανόνα στον εσωτερικό πίνακα, τοποθετείται μπροστά από αυτόν η παράμετρος add. RULE_NUMBER Κάθε κανόνας πρέπει να διαθέτει ένα αριθμό που να τον χαρακτηρίζει. ACTION Ένας κανόνας μπορεί να σχετίζεται με μια ή περισσότερες ενέργειες, οι οποίες εκτελούνται όταν το πακέτο ταιριάζει με τα κριτήρια επιλογής αυτού του κανόνα. allow | accept | pass | permit Όλα τα παραπάνω έχουν το ίδιο αποτέλεσμα: το πακέτο εξέρχεται από την σύστημα του firewall. Η αναζήτηση για το συγκεκριμένο πακέτο τερματίζεται σε αυτό τον κανόνα. check-state Ελέγχει το πακέτο με βάση το δυναμικό πίνακα κανόνων. Αν βρεθεί κανόνας που να ταιριάζει, θα εκτελεστεί η ενέργεια του κανόνα ο οποίος δημιούργησε τον συγκεκριμένο δυναμικό κανόνα. Διαφορετικά, η αναζήτηση συνεχίζεται με τον επόμενο κανόνα. Ένας κανόνας check-state δεν έχει κριτήρια επιλογής. Αν δεν υπάρχει κανόνας check-state στο σύνολο κανόνων, ο έλεγχος του πίνακα δυναμικών κανόνων ξεκινάει από τον πρώτο κανόνα τύπου keep-state ή limit. deny | drop Και οι δύο λέξεις σημαίνουν το ίδιο πράγμα: τα πακέτα που ταιριάζουν με αυτό τον κανόνα απορρίπτονται. Η αναζήτηση τερματίζεται. Καταγραφή log ή logamount Όταν ένα πακέτο ταιριάζει με ένα κανόνα που περιέχει τη λέξη log, γίνεται καταγραφή του μηνύματος μέσω του &man.syslogd.8; στη δυνατότητα SECURITY. Η καταγραφή συμβαίνει μόνο αν ο αριθμός των πακέτων που έχει καταγραφεί μέχρι στιγμής δεν υπερβαίνει την παράμετρο logamount. Αν η παράμετρος αυτή δεν έχει καθοριστεί, το όριο ρυθμίζεται με βάση την τιμή της μεταβλητής sysctl net.inet.ip.fw.verbose_limit. Και στις δύο περιπτώσεις, μια μηδενική τιμή σημαίνει ότι δεν θα υπάρχει όριο στην καταγραφή. Μόλις η καταγραφή φτάσει στο όριο, μπορεί να γίνει επανενεργοποίηση της με το μηδενισμό του μετρητή καταγραφής, ή του μετρητή για το συγκεκριμένο κανόνα. Δείτε την εντολή ipfw reset log. Η καταγραφή γίνεται μόνο αφού επαληθευθούν όλες οι άλλες συνθήκες ταιριάσματος του πακέτου, και πριν την τελική αποδοχή ή απόρριψη του. Είναι στη δική σας ευχέρεια να αποφασίσετε σε ποιους κανόνες θα ενεργοποιήσετε την καταγραφή. Επιλογή Οι λέξεις-κλειδιά που περιγράφονται σε αυτή την ενότητα, χρησιμοποιούνται για να περιγράψουν χαρακτηριστικά του πακέτου που θα πρέπει να διερευνηθούν για να καθοριστεί αν το πακέτο ταιριάζει ή όχι με τον κανόνα. Η επιλογή μπορεί να γίνει με βάση τα παρακάτω γενικής φύσεως χαρακτηριστικά, τα οποία και θα πρέπει να χρησιμοποιηθούν με τη σειρά που φαίνονται: udp | tcp | icmp Μπορούν επίσης να χρησιμοποιηθούν τα πρωτόκολλα που περιέχονται στο αρχείο /etc/protocols. Η τιμή που καθορίζεται χρησιμοποιείται για το ταίριασμα του πρωτοκόλλου. Πρόκειται για υποχρεωτική παράμετρο. from src to dst Οι λέξεις from και to χρησιμοποιούνται για το ταίριασμα IP διευθύνσεων. Οι κανόνες πρέπει να καθορίζουν τόσο την πηγή όσο και τον προορισμό. Η λέξη any μπορεί να χρησιμοποιηθεί για ταίριασμα με οποιαδήποτε διεύθυνση. Η λέξη me έχει επίσης ειδική σημασία. Ταιριάζει με οποιαδήποτε διεύθυνση που έχει ρυθμιστεί σε κάποια διεπαφή του συστήματος σας, αντιπροσωπεύοντας έτσι το PC στο οποίο εκτελείται το firewall. Μπορούν έτσι να γραφούν κανόνες του τύπου from me to any ή from any to me ή from any to 0.0.0.0/0 ή from 0.0.0.0/0 to me ή from any to 0.0.0.0 ή from me to 0.0.0.0. Οι διευθύνσεις IP καθορίζονται ως αριθμητικές οκτάδες χωρισμένες με τελείες και ακολουθούνται από το μήκος της μάσκας υποδικτύου. Μια IP διεύθυνση μπορεί να καθορίζεται με αριθμούς που χωρίζονται με τελείες. Μπορεί επίσης να ακολουθείται από το μέγεθος της μάσκας υποδικτύου (μορφή CIDR). Πρόκειται για υποχρεωτική παράμετρο. Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα net-mgmt/ipcalc για διευκόλυνση σας στους υπολογισμούς. Δείτε την δικτυακή τοποθεσία του προγράμματος για περισσότερες πληροφορίες: . port number Χρησιμοποιείται σε πρωτόκολλα που υποστηρίζουν αριθμούς θυρών (όπως είναι τα TCP και UDP). Είναι υποχρεωτικό να δίνεται ο αριθμός θύρας της υπηρεσίας που θέλετε να ταιριάξετε. Μπορείτε να χρησιμοποιήσετε τα ονόματα των υπηρεσιών (μπορείτε να τα βρείτε στο αρχείο /etc/services) αντί για τους κανονικούς αριθμούς θυρών. in | out Με το παραπάνω μπορεί να καθοριστεί αν το ταίριασμα θα γίνεται σε εισερχόμενα ή σε εξερχόμενα πακέτα αντίστοιχα. Είναι υποχρεωτικό να έχετε ως μέρος των κριτηρίων του κανόνα σας, είτε τη λέξη in είτε τη λέξη out. via IF Ταιριάζει τα πακέτα τα οποία διέρχονται μέσω της διεπαφής με το όνομα που καθορίζεται. Η λέξη via εξασφαλίζει ότι το όνομα της διεπαφής θα είναι πάντα μέρος των κριτηρίων κατά τη διαδικασία ταιριάσματος. setup Πρόκειται για υποχρεωτική παράμετρο που αναγνωρίζει την αίτηση έναρξης μιας συνεδρίας για πακέτα TCP. keep-state Πρόκειται για υποχρεωτική παράμετρο. Μόλις υπάρξει ταίριασμα, το firewall θα δημιουργήσει ένα δυναμικό κανόνα, του οποίου η προεπιλεγμένη συμπεριφορά είναι να ταιριάζει επικοινωνία διπλής κατεύθυνσης μεταξύ της διεύθυνσης IP και της θύρας αφετηρίας και προορισμού, χρησιμοποιώντας το ίδιο πρωτόκολλο. limit {src-addr | src-port | dst-addr | dst-port} Το firewall θα επιτρέψει μόνο N πλήθος συνδέσεων με τις παραμέτρους που περιγράφονται σε αυτό τον κανόνα. Μπορούν να καθοριστούν περισσότερες από μια διευθύνσεις και πόρτες αφετηρίας και προορισμού. Δεν μπορούν να χρησιμοποιηθούν στον ίδιο κανόνα οι παράμετροι limit και keep-state. Η επιλογή limit παρέχει την ίδια λειτουργία stateful με την keep-state, καθώς και επιπρόσθετες δικές της λειτουργίες. Επιλογή για Stateful Κανόνες IPFW stateful filtering Το stateful φιλτράρισμα, αντιμετωπίζει την κίνηση του δικτύου ως διπλής κατεύθυνσης ανταλλαγή πακέτων τα οποία δημιουργούν μια συνεδρία. Έχει επίσης τη δυνατότητα να διερευνήσει αν τηρούνται οι έγκυροι κανόνες ανταλλαγής μηνυμάτων μεταξύ του αποστολέα και του παραλήπτη. Οποιαδήποτε πακέτα δεν ταιριάζουν με το πρότυπο αυτής της επικοινωνίας, απορρίπτονται ως ψεύτικα. Η επιλογή check-state χρησιμοποιείται για να αναγνωριστεί σε ποιο σημείο του συνόλου κανόνων του IPFW θα ελεγχθεί το πακέτο με βάση τη δυνατότητα των δυναμικών κανόνων. Σε περίπτωση ταιριάσματος, το πακέτο εξέρχεται από το firewall και συνεχίζει την πορεία του, ενώ την ίδια στιγμή δημιουργείται ένας νέος δυναμικός κανόνας για το επόμενο πακέτο που αναμένεται να έρθει με βάση τη συγκεκριμένη διπλής κατεύθυνσης επικοινωνία. Σε περίπτωση που το πακέτο δεν ταιριάζει με το δυναμικό κανόνα, θα προχωρήσει για να ελεγχθεί από τον επόμενο κανόνα του firewall. Η δυνατότητα δυναμικών κανόνων είναι ευάλωτη σε εξάντληση πόρων σε περίπτωση επίθεσης υπερχείλισης (flood) SYN. Η επίθεση αυτή μπορεί να δημιουργήσει πολύ μεγάλο πλήθος δυναμικών κανόνων. Για την αντιμετώπιση μιας τέτοιας επίθεσης, το &os; χρησιμοποιεί μια ακόμα επιλογή που ονομάζεται limit. Η επιλογή αυτή μπορεί να περιορίσει τον αριθμό των ταυτόχρονων συνεδριών, εξετάζοντας τα πεδία αφετηρίας και προορισμού των κανόνων. Ανιχνεύει με αυτό τον τρόπο το πλήθος των δυναμικών κανόνων και πόσες φορές έχει χρησιμοποιηθεί ο καθένας από τη συγκεκριμένη IP διεύθυνση. Αν ο αριθμός αυτός ξεπερνάει το όριο που έχει τεθεί με την επιλογή limit, το πακέτο απορρίπτεται. Καταγραφή Μηνυμάτων του Firewall IPFW logging Τα πλεονεκτήματα της καταγραφής συμβάντων του firewall, είναι προφανή: παρέχουν τη δυνατότητα να δείτε για ποιο λόγο ενεργοποιήθηκαν οι κανόνες στους οποίους έχετε ενεργοποιήσει την καταγραφή. Οι πληροφορίες περιλαμβάνουν τα πακέτα που απορρίφθηκαν, τις διευθύνσεις από τις οποίες προήλθαν και που κατευθύνονταν. Με αυτό τον τρόπο, έχετε ένα σημαντικό πλεονέκτημα στην ανίχνευση των εισβολέων. Ακόμα και αν ενεργοποιήσετε τη λειτουργία καταγραφής, το IPFW δεν θα αρχίσει από μόνο του την καταγραφή για κανένα κανόνα. Ο διαχειριστής του firewall θα αποφασίσει σε ποιους από όλους τους κανόνες θα ενεργοποιήσει την καταγραφή, και θα προσθέσει την λέξη log στην αντίστοιχη καταχώριση. Φυσιολογικά, γίνεται καταγραφή μόνο για κανόνες που απορρίπτουν πακέτα (κανόνες deny), όπως για παράδειγμα ο κανόνας απόρριψης των εισερχόμενων ICMP pings. Είναι κοινή πρακτική, να αντιγράφεται στο τέλος των κανόνων ο κανόνας ipfw default deny everything και να προστίθεται σε αυτόν η επιλογή log. Με τον τρόπο αυτό, μπορείτε να δείτε όλα τα πακέτα που δεν ταίριαξαν με κανένα κανόνα του συνόλου. Η καταγραφή συμβάντων είναι δίκοπο μαχαίρι. Αν δεν είστε προσεκτικός, θα χαθείτε μέσα στο πλήθος των δεδομένων της καταγραφής και θα γεμίσετε το δίσκο σας με άχρηστα αρχεία. Οι πιο παλιές και κοινές επιθέσεις τύπου άρνησης υπηρεσίας (DoS), είναι αυτές που προσπαθούν να γεμίσουν τους δίσκους σας. Τα μηνύματα αυτά όχι μόνο καταγράφονται στο syslogd, αλλά εμφανίζονται και στην κονσόλα του συστήματος σας, και σύντομα γίνονται πολύ ενοχλητικά. Η επιλογή IPFIREWALL_VERBOSE_LIMIT=5 στον πυρήνα, περιορίζει τον αριθμό των συνεχόμενων όμοιων μηνυμάτων που στέλνονται στον καταγραφέα συστήματος &man.syslogd.8; σχετικά με το ταίριασμα πακέτων ενός συγκεκριμένου κανόνα. Όταν ενεργοποιείται αυτή η επιλογή στον πυρήνα, ο αριθμός των συνεχόμενων μηνυμάτων ενός συγκεκριμένου κανόνα, σταματάει μετά τον αριθμό που καθορίζεται. Δεν υπάρχει κανένα όφελος από 200 συνεχόμενα μηνύματα με το ίδιο ακριβώς περιεχόμενο. Για παράδειγμα, πέντε συνεχόμενα μηνύματα για ένα συγκεκριμένο κανόνα θα καταγράφονταν κανονικά στο syslogd. Τα υπόλοιπα όμοια μηνύματα θα καταμετρηθούν και θα καταγραφούν όπως φαίνεται παρακάτω: last message repeated 45 times Όλα τα μηνύματα καταγραφής των πακέτων, γράφονται από προεπιλογή στο αρχείο /var/log/security το οποίο καθορίζεται στο αρχείο /etc/syslog.conf. Δημιουργία Ενός Script Κανόνων Οι περισσότεροι έμπειροι χρήστες του IPFW, δημιουργούν ένα αρχείο που περιέχει τους κανόνες και το γράφουν με τέτοιο τρόπο ώστε να να μπορεί να εκτελεστεί ως script. Το βασικό πλεονέκτημα του παραπάνω τρόπου, είναι ότι οι κανόνες του firewall μπορούν να ανανεωθούν χωρίς την ανάγκη να επανεκκινήσει το σύστημα για να φορτωθούν οι νέοι. Η μέθοδος αυτή είναι πολύ βολική για την δοκιμή νέων κανόνων, καθώς η διαδικασία μπορεί να επαναληφθεί όσες φορές χρειάζεται. Καθώς πρόκειται για κανονικό script, μπορείτε να χρησιμοποιήσετε συμβολική υποκατάσταση για να κωδικοποιήσετε και να υποκαταστήσετε συχνά χρησιμοποιούμενες τιμές σε πολλαπλούς κανόνες. Αυτό φαίνεται στο παρακάτω παράδειγμα. Η σύνταξη που χρησιμοποιείται εδώ, είναι συμβατή με τα κελύφη &man.sh.1;, &man.csh.1; και &man.tcsh.1;. Μπροστά από τα πεδία της συμβολικής υποκατάστασης, υπάρχει το σήμα του δολαρίου, $. Το σύμβολο αυτό δεν υπάρχει μπροστά από τα συμβολικά πεδία. Η τιμή που θα αποδοθεί στο συμβολικό πεδίο, πρέπει να εσωκλείεται σε διπλά εισαγωγικά. Ξεκινήστε το αρχείο των κανόνων σας όπως φαίνεται παρακάτω: ############### start of example ipfw rules script ############# # ipfw -q -f flush # Delete all rules # Set defaults oif="tun0" # out interface odns="192.0.2.11" # ISP's DNS server IP address cmd="ipfw -q add " # build rule prefix ks="keep-state" # just too lazy to key this each time $cmd 00500 check-state $cmd 00502 deny all from any to any frag $cmd 00501 deny tcp from any to any established $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks $cmd 00611 allow udp from any to $odns 53 out via $oif $ks ################### End of example ipfw rules script ############ Αυτό είναι όλο. Στο παράδειγμα αυτό δεν είναι σημαντικοί οι κανόνες, αλλά ο τρόπος με τον οποίο λειτουργούν και παίρνουν τιμές τα πεδία συμβολικής υποκατάστασης. Αν το παραπάνω παράδειγμα ήταν στο αρχείο /etc/ipfw.rules θα μπορούσατε να φορτώσετε αυτούς τους κανόνες, γράφοντας την παρακάτω εντολή: &prompt.root; sh /etc/ipfw.rules Το αρχείο /etc/ipfw.rules μπορεί να βρίσκεται σε όποιο κατάλογο θέλετε, και να ονομάζεται επίσης όπως θέλετε. Θα μπορούσατε να επιτύχετε το ίδιο πράγμα, εκτελώντας τις παρακάτω εντολές χειροκίνητα: &prompt.root; ipfw -q -f flush &prompt.root; ipfw -q add check-state &prompt.root; ipfw -q add deny all from any to any frag &prompt.root; ipfw -q add deny tcp from any to any established &prompt.root; ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state &prompt.root; ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state &prompt.root; ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state Σύνολο Κανόνων Stateful Το παρακάτω σύνολο κανόνων (που δεν περιέχει κανόνες για NAT) είναι ένα παράδειγμα γραφής ενός inclusive firewall. Ένα inclusive firewall επιτρέπει την είσοδο μόνο των πακέτων που ταιριάζουν με τους κανόνες αποδοχής (pass) και απορρίπτει από προεπιλογή όλα τα άλλα. Τα firewalls που έχουν σχεδιαστεί να προστατεύουν ολόκληρα δίκτυα, διαθέτουν το λιγότερο δύο διεπαφές, στις οποίες πρέπει να υπάρχουν κανόνες ώστε το firewall να λειτουργεί. Όλα τα λειτουργικά συστήματα τύπου &unix;, συμπεριλαμβανομένου και του &os;, έχουν σχεδιαστεί να χρησιμοποιούν τη διεπαφή lo0 και τη διεύθυνση IP 127.0.0.1 για εσωτερική επικοινωνία με το λειτουργικό σύστημα. Το firewall πρέπει να περιέχει κανόνες που να επιτρέπουν την απρόσκοπτη κίνηση αυτών των ειδικών, για εσωτερική χρήση, πακέτων. Οι κανόνες που ορίζουν την πρόσβαση εισερχόμενων και εξερχόμενων πακέτων, γράφονται για τη διεπαφή που συνδέεται στο δημόσιο Internet. Η διεπαφή αυτή μπορεί να είναι για παράδειγμα η tun0 (σε περίπτωση που χρησιμοποιείτε το PPP χρήστη), ή η κάρτα δικτύου που συνδέεται στο καλωδιακό ή DSL modem σας. Σε περίπτωση που μια ή περισσότερες κάρτες δικτύου συνδέονται σε εσωτερικά ιδιωτικά δίκτυα πίσω από το firewall, θα πρέπει να υπάρχουν οι αντίστοιχοι κανόνες που να επιτρέπουν την ελεύθερη διακίνηση των πακέτων ανάμεσα στις διεπαφές αυτές ή/και στο Internet. Οι κανόνες πρέπει να οργανώνονται σε τρεις κύριες ενότητες: αρχικά όλες οι διεπαφές στις οποίες επιτρέπεται η ελεύθερη διακίνηση δεδομένων, έπειτα η διεπαφή από την οποία εξέρχονται τα πακέτα προς το δημόσιο δίκτυο (Internet) και τέλος η διεπαφή από την οποία λαμβάνονται πακέτα από το Internet. Σε κάθε μια από τις ενότητες των διεπαφών που συνδέονται στο Internet, πρέπει να τοποθετούνται πρώτοι οι κανόνες που ταιριάζουν συχνότερα με την αντίστοιχη κίνηση. Ο τελευταίος κανόνας της ενότητας θα πρέπει να απορρίπτει και να καταγράφει όλα τα πακέτα της συγκεκριμένης διεπαφής/κατεύθυνσης. Η ενότητα εξερχομένων (Outbound) στο σύνολο κανόνων που φαίνεται παρακάτω, περιέχει μόνο κανόνες τύπου allow. Οι κανόνες αυτοί περιέχουν συγκεκριμένες επιλεγμένες τιμές, με τις οποίες αναγνωρίζεται με μοναδικό τρόπο η υπηρεσία στην οποία επιτρέπεται η πρόσβαση από το δημόσιο Internet. Όλοι οι κανόνες έχουν τις επιλογές proto, port, in/out και keep-state. Οι κανόνες τύπου proto tcp περιέχουν την επιλογή setup για την αναγνώριση του πακέτου έναρξης της συνεδρίας, ώστε να γίνει η καταχώριση της στον πίνακα συνδέσεων (stateful). Στην ενότητα των εισερχόμενων πακέτων (Inbound) που φαίνεται παρακάτω, εμφανίζονται πρώτοι οι κανόνες που χρησιμοποιούνται για την απόρριψη των ανεπιθύμητων πακέτων. Αυτό γίνεται για δύο διαφορετικούς λόγους. Ο πρώτος είναι ότι τα κακόβουλα πακέτα μπορεί εν μέρει να ταιριάζουν με κάποια χαρακτηριστικά της έγκυρης κίνησης. Τα πακέτα αυτά θα πρέπει να απορριφθούν, αντί να γίνουν δεκτά από κάποιο επόμενο κανόνα allow. Ο δεύτερος είναι ότι μπορείτε να απορρίψετε συγκεκριμένα πακέτα τα οποία γνωρίζετε ότι δεν είναι έγκυρα, αλλά σας είναι αδιάφορη η καταγραφή τους. Με τον τρόπο αυτό εμποδίζεται η λήψη και καταγραφή τους από τον τελευταίο κανόνα. Ο τελευταίος κανόνας τυπικά απορρίπτει και καταγράφει όλα τα πακέτα που έφτασαν μέχρι αυτόν. Ο κανόνας αυτός χρησιμοποιείται για την παροχή νομικών αποδείξεων σε περίπτωση που κινήσετε νομική διαδικασία κατά ατόμων που προέβησαν σε επιθέσεις στο σύστημα σας. Θα πρέπει επίσης να εξασφαλίσετε ότι το σύστημα σας δεν θα δώσει καμιά απάντηση σε κανένα από τα ανεπιθύμητα πακέτα. Τα πακέτα αυτά θα πρέπει να απορριφθούν και να εξαφανιστούν. Με τον τρόπο αυτό, ο επιτιθέμενος δεν έχει καμιά γνώση αν τα πακέτα του έφτασαν μέχρι το σύστημα σας. Όσο λιγότερα μπορούν να μάθουν οι επιτιθέμενοι σχετικά με το σύστημα σας, τόσο πιο ασφαλές είναι. Όταν εκτελείτε καταγραφή πακέτων με αριθμούς θυρών που δεν αναγνωρίζετε, κοιτάξτε στο αρχείο /etc/services/ ή δείτε το και αναζητήστε τον αριθμό της θύρας για να δείτε ποιος είναι ο σκοπός της. Ελέγξτε την παρακάτω τοποθεσία για τους αριθμούς θυρών που χρησιμοποιούνται συχνά από κακόβουλα προγράμματα (Trojans): . Ένα Υπόδειγμα Συνόλου Κανόνων Inclusive Το παρακάτω σύνολο κανόνων (στο οποίο δεν υλοποιείται λειτουργία NAT) είναι αρκετά πλήρες και πολύ ασφαλές. Δημιουργεί firewall τύπου inclusive, και έχει δοκιμαστεί σε πραγματικές συνθήκες λειτουργίας. Μπορεί να εξυπηρετήσει το ίδιο καλά και το δικό σας σύστημα. Απλώς μετατρέψτε σε σχόλιο τους κανόνες pass για τις υπηρεσίες που δεν θέλετε να ενεργοποιήσετε. Για να αποφύγετε την καταγραφή ανεπιθύμητων μηνυμάτων, απλώς προσθέστε ένα κανόνα τύπου deny στην ενότητα των εισερχομένων. Σε όλους τους κανόνες, Θα πρέπει να αλλάξετε το όνομα της διεπαφής από dc0 στο πραγματικό όνομα της διεπαφής που συνδέεται στο δημόσιο Internet. Σε περίπτωση που χρησιμοποιείτε το PPP χρήστη, το όνομα της διεπαφής θα είναι tun0. Θα διαπιστώσετε ότι υπάρχει μια συγκεκριμένη λογική στη χρήση αυτών των κανόνων. Όλοι οι κανόνες που αποτελούν αίτηση για έναρξη μιας νέας συνεδρίας με το δημόσιο Internet, χρησιμοποιούν την επιλογή keep-state. Όλες οι διαπιστευμένες υπηρεσίες που προέρχονται από το δημόσιο Internet, διαθέτουν την επιλογή limit, για την αποφυγή επιθέσεων υπερχείλισης (flooding). Όλοι οι κανόνες χρησιμοποιούν τις επιλογές in ή out για να διευκρινίζουν την κατεύθυνση της επικοινωνίας. Όλοι οι κανόνες χρησιμοποιούν την επιλογή via όνομα-διεπαφής για να καθορίσουν τη διεπαφή από την οποία διέρχεται το πακέτο. Οι κανόνες που φαίνονται παρακάτω, θα πρέπει να γραφούν στο /etc/ipfw.rules. ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" pif="dc0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN. # Change xl0 to your LAN NIC interface name ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 00015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Check session start requests originating from behind the # firewall on the private network or from this gateway server # destined for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # x.x.x.x must be the IP address of your ISP.s DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state # Allow out access to my ISP's DHCP server for cable/DSL configurations. # This rule is not needed for .user ppp. connection to the public Internet. # so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule $cmd 00120 allow log udp from any to any 67 out via $pif keep-state #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state $cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state # Allow out FBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 00250 allow icmp from any to any out via $pif keep-state # Allow out Time $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state # deny and log everything else that.s trying to get out. # This rule enforces the block all by default logic. $cmd 00299 deny log all from any to any out via $pif ################################################################# # Interface facing Public Internet (Inbound Section) # Check packets originating from the public Internet # destined for this gateway server or the private network. ################################################################# # Deny all inbound traffic from non-routable reserved address spaces $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect $cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Deny public pings $cmd 00310 deny icmp from any to any in via $pif # Deny ident $cmd 00315 deny tcp from any to any 113 in via $pif # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif $cmd 00322 deny tcp from any to any 139 in via $pif $cmd 00323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 00330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 00332 deny tcp from any to any established in via $pif # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP.s DHCP server as it.s the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for .user ppp. type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state # Allow in standard www function because I have apache server $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID & PW are passed over public # Internet as clear text. # Delete this sample group if you do not have telnet server enabled. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Reject & Log all incoming connections from the outside $cmd 00499 deny log all from any to any in via $pif # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 00999 deny log all from any to any ################ End of IPFW rules file ############################### Ένα Υπόδειγμα <acronym>NAT</acronym> με Stateful Σύνολο Κανόνων NAT and IPFW Για να ενεργοποιηθεί η λειτουργία NAT στο IPFW, χρειάζονται κάποιες επιπλέον ρυθμίσεις. Θα πρέπει να προσθέσετε την επιλογή option IPDIVERT μαζί με τις υπόλοιπες επιλογές για το IPFIREWALL στο αρχείο ρυθμίσεων του πυρήνα. Θα πρέπει έπειτα να μεταγλωττίσετε και να εγκαταστήσετε το νέο σας προσαρμοσμένο πυρήνα. Εκτός από τις συνηθισμένες επιλογές για το IPFW, θα πρέπει να προσθέσετε και τις παρακάτω στο αρχείο /etc/rc.conf: natd_enable="YES" # Enable NATD function natd_interface="rl0" # interface name of public Internet NIC natd_flags="-dynamic -m" # -m = preserve port numbers if possible Η χρήση κανόνων stateful μαζί με τον κανόνα divert natd (NAT), περιπλέκει πολύ την λογική συγγραφής των κανόνων. Η θέση εμφάνισης των κανόνων check-state και divert natd μέσα στο σύνολο κανόνων γίνεται πολύ κρίσιμη. Δεν πρόκειται πλέον για απλή λογική περάσματος από τον ένα κανόνα στον επόμενο. Χρησιμοποιείται ένα νέο είδος ενέργειας που ονομάζεται skipto. Για να χρησιμοποιηθεί η εντολή skipto, είναι υποχρεωτικό να έχετε αριθμήσει τους κανόνες, ώστε να ξέρετε σε ποιο κανόνα θα καταλήξει το άλμα που θα εκτελεστεί από την εντολή αυτή. Παρακάτω θα βρείτε ένα υπόδειγμα (χωρίς πρόσθετα σχόλια) μιας μεθόδου συγγραφής που επιλέξαμε εδώ για να εξηγήσουμε την ακολουθία ροής του πακέτου μέσα στο σύνολο κανόνων. Η ροή της επεξεργασίας ξεκινάει με τον πρώτο από την κορυφή κανόνα και συνεχίζει ένα κανόνα κάθε φορά προς τα κάτω, είτε μέχρι να φτάσει τον τελευταίο, ή μέχρι το πακέτο να ταιριάξει με τα κριτήρια επιλογής κάποιου κανόνα και να ελευθερωθεί από το firewall. Είναι σημαντικό να παρατηρήσουμε τη θέση των κανόνων με αριθμούς 100, 101, 450, 500 και 510. Οι κανόνες αυτοί ελέγχουν την μετάφραση των εξερχόμενων και εισερχόμενων πακέτων, ώστε οι καταχωρήσεις τους στο δυναμικό πίνακα καταστάσεων να περιέχουν πάντα την ιδιωτική IP διεύθυνση του τοπικού δικτύου. Παρατηρήστε επίσης ότι όλοι οι κανόνες allow και deny καθορίζουν την κατεύθυνση κίνησης του πακέτου καθώς και την διεπαφή. Επίσης, όλες οι εξερχόμενες αιτήσεις για νέες συνεδρίες μεταφέρονται απευθείας (μέσω του skipto rule 500) στον κανόνα 500 για να γίνει η μετάφραση διευθύνσεων δικτύου (NAT). Ας υποθέσουμε ότι ένα χρήστης του τοπικού δικτύου χρησιμοποιεί τον φυλλομετρητή του για να δει μια ιστοσελίδα. Οι ιστοσελίδες χρησιμοποιούν την πόρτα 80 για την επικοινωνία. Το πακέτο εισέρχεται στο firewall. Δεν ταιριάζει με τον κανόνα 100 γιατί είναι εξερχόμενο και όχι εισερχόμενο. Περνάει τον κανόνα 101 γιατί πρόκειται για νέα επικοινωνία και έτσι δεν υπάρχει ακόμα στον δυναμικό πίνακα καταστάσεων. Το πακέτο τελικά φτάνει στον κανόνα 125 με τον οποίο και ταιριάζει. Εξέρχεται μέσω της κάρτας δικτύου που συνδέεται στο δημόσιο Internet. Το πακέτο έχει ακόμα ως IP αφετηρίας την ιδιωτική διεύθυνση του τοπικού δικτύου. Το ταίριασμα με αυτό τον κανόνα προκαλεί δύο ενέργειες. Η επιλογή keep-state θα δημιουργήσει ένα νέο δυναμικό κανόνα, θα τον καταχωρήσει στον πίνακα, και θα εκτελέσει την αντίστοιχη ενέργεια. Η ενέργεια αυτή είναι μέρος της πληροφορίας που γράφεται στον δυναμικό πίνακα. Στην περίπτωση αυτή είναι η skipto rule 500. Ο κανόνας 500 μεταφράζει μέσω NAT τη διεύθυνση IP του πακέτου, πριν αυτό εξέλθει προς το Internet. Αυτό είναι ιδιαίτερα σημαντικό. Το πακέτο κατευθύνεται προς τον προορισμό του, όπου δημιουργείται και αποστέλλεται ένα νέο πακέτο ως απάντηση. Το νέο αυτό πακέτο εισέρχεται ξανά στο firewall, στον κανόνα που είναι στην κορυφή της λίστας. Αυτή τη φορά ταιριάζει με τον κανόνα 100 και η διεύθυνση προορισμού του αλλάζει ξανά στην αρχική του τοπικού δικτύου. Έπειτα, γίνεται η επεξεργασία του από τον κανόνα check-state ο οποίος ανακαλύπτει ότι πρόκειται για πακέτο συνεδρίας σε εξέλιξη και το απελευθερώνει στο τοπικό δίκτυο. Κατευθύνεται προς τον υπολογιστή του τοπικού δικτύου που το έστειλε, ο οποίος στέλνει ένα νέο πακέτο ζητώντας περισσότερα δεδομένα από τον απομακρυσμένο εξυπηρετητή. Το πακέτο αυτό ελέγχεται από τον κανόνα check-state, ο οποίος βρίσκει την καταχώριση του στα εξερχόμενα και εκτελεί την αντίστοιχη ενέργεια που σε αυτή την περίπτωση είναι skipto 500. Το πακέτο προωθείται στον κανόνα 500, γίνεται η μετάφραση της διεύθυνσης του μέσω NAT και απελευθερώνεται στο Internet. Από την μεριά των εισερχόμενων, όποιο πακέτο αναγνωρίζεται ως μέρος μιας υπάρχουσας συνεδρίας, ελέγχεται αυτόματα από τον κανόνα check-state και τους αντίστοιχους κανόνες divert natd. Το μόνο που χρειάζεται να αντιμετωπίσουμε είναι η απόρριψη όλων των προβληματικών πακέτων και η έγκριση μόνο των πακέτων που προορίζονται για εγκεκριμένες υπηρεσίες. Ας υποθέσουμε ότι έχουμε ένα εξυπηρετητή apache ο οποίος εκτελείται στο μηχάνημα με το firewall, και επιθυμούμε το τοπικό site να είναι προσβάσιμο από το δημόσιο Internet. Η εισερχόμενη αίτηση νέας συνεδρίας ταιριάζει με τον κανόνα 100 και η IP διεύθυνση της αντιστοιχίζεται στο τοπικό IP του μηχανήματος με το firewall. Το πακέτο έπειτα ελέγχεται για οποιοδήποτε πρόβλημα μπορεί να έχει σύμφωνα με τους κανόνες που χρησιμοποιούμε, και τελικά ταιριάζει με τον κανόνα 425. Στην περίπτωση αυτή συμβαίνουν δύο πράγματα. Ο κανόνας για το πακέτο γράφεται στο δυναμικό πίνακα καταστάσεων, αλλά αυτή τη φορά περιορίζεται ο αριθμός αιτήσεων νέας συνεδρίας από το συγκεκριμένο IP σε 2. Με αυτό τον τρόπο μπορούμε να αμυνθούμε σε επιθέσεις τύπου άρνησης υπηρεσίας (DoS) όσο αφορά τη συγκεκριμένη θύρα επικοινωνίας. Η ενέργεια του κανόνα είναι το allow, και έτσι το πακέτο απελευθερώνεται στο τοπικό δίκτυο. Το πακέτο που παράγεται ως απάντηση, ελέγχεται από τον κανόνα check-state, ο οποίος αναγνωρίζει ότι ανήκει σε μια ήδη ενεργή συνεδρία, και αποστέλλεται στον κανόνα 500 όπου γίνεται η μετάφραση της διεύθυνσης του μέσω NAT. Το πακέτο τελικά απελευθερώνεται μέσω της διεπαφής εξερχομένων. Υπόδειγμα Κανόνων #1: #!/bin/sh cmd="ipfw -q add" skip="skipto 500" pif=rl0 ks="keep-state" good_tcpo="22,25,37,43,53,80,443,110,119" ipfw -q -f flush $cmd 002 allow all from any to any via xl0 # exclude LAN traffic $cmd 003 allow all from any to any via lo0 # exclude loopback traffic $cmd 100 divert natd ip from any to any in via $pif $cmd 101 check-state # Authorized outbound packets $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks $cmd 130 $skip icmp from any to any out via $pif $ks $cmd 135 $skip udp from any to any 123 out via $pif $ks # Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Authorized inbound packets $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks $cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1 $cmd 450 deny log ip from any to any # This is skipto location for outbound stateful rules $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## end of rules ################## Οι παρακάτω κανόνες είναι σχεδόν ίδιοι με τους παραπάνω, αλλά περιέχουν περισσότερα σχόλια για να βοηθήσουν τον αρχάριο χρήστη του IPFW να καταλάβει καλύτερα πως λειτουργούν. Υπόδειγμα Κανόνων #2: #!/bin/sh ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" skip="skipto 800" pif="rl0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Change xl0 to your LAN NIC interface name ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # check if packet is inbound and nat address if it is ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Check session start requests originating from behind the # firewall on the private network or from this gateway server # destined for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # x.x.x.x must be the IP address of your ISP's DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state # Allow out access to my ISP's DHCP server for cable/DSL configurations. $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state $cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state # Allow out FreeBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 080 $skip icmp from any to any out via $pif keep-state # Allow out Time $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state # Allow ntp time server $cmd 130 $skip udp from any to any 123 out via $pif keep-state ################################################################# # Interface facing Public Internet (Inbound Section) # Check packets originating from the public Internet # destined for this gateway server or the private network. ################################################################# # Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Deny ident $cmd 315 deny tcp from any to any 113 in via $pif # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 320 deny tcp from any to any 137 in via $pif $cmd 321 deny tcp from any to any 138 in via $pif $cmd 322 deny tcp from any to any 139 in via $pif $cmd 323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 332 deny tcp from any to any established in via $pif # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP's DHCP server as it's the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for 'user ppp' type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state # Allow in standard www function because I have Apache server $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID & PW are passed over public # Internet as clear text. # Delete this sample group if you do not have telnet server enabled. $cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Reject & Log all unauthorized incoming connections from the public Internet $cmd 400 deny log all from any to any in via $pif # Reject & Log all unauthorized out going connections to the public Internet $cmd 450 deny log all from any to any out via $pif # This is skipto location for outbound stateful rules $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 999 deny log all from any to any ################ End of IPFW rules file ############################### diff --git a/el_GR.ISO8859-7/books/handbook/geom/chapter.sgml b/el_GR.ISO8859-7/books/handbook/geom/chapter.sgml index 92c6a58dff..a3529756f1 100644 --- a/el_GR.ISO8859-7/books/handbook/geom/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/geom/chapter.sgml @@ -1,868 +1,868 @@ Tom Rhodes Γράφτηκε από τον GEOM: Διαχείριση Συστοιχιών Δίσκων Σύνοψη GEOM GEOM Disk Framework GEOM Το κεφάλαιο αυτό καλύπτει τη χρήση των δίσκων κάτω από το πλαίσιο λειτουργιών GEOM στο &os;. Περιλαμβάνει τα κυριότερα προγράμματα ελέγχου RAID των οποίων οι ρυθμίσεις βασίζονται στο πλαίσιο GEOM. Το κεφάλαιο αυτό δεν αναλύει σε βάθος τον τρόπο με τον οποίο το GEOM χειρίζεται ή ελέγχει λειτουργίες Εισόδου / Εξόδου (IO), το υποσύστημα που βρίσκεται κάτω από αυτό, ή τον κώδικα του. Οι πληροφορίες αυτές παρέχονται από τη σελίδα manual του &man.geom.4; καθώς και από τις αναφορές που περιέχει σε άλλες σχετικές σελίδες. Επίσης το κεφάλαιο αυτό δεν αποτελεί καθοριστικό οδηγό για όλες τις ρυθμίσεις του RAID. Θα συζητηθούν μόνο οι καταστάσεις λειτουργίας του RAID που υποστηρίζονται από το GEOM. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Το είδος της υποστήριξης RAID που είναι διαθέσιμο μέσω του GEOM. Πως να χρησιμοποιήσετε τα βασικά βοηθητικά προγράμματα για την ρύθμιση, συντήρηση και διαχείριση των διαφόρων επιπέδων RAID. Πως να δημιουργήσετε mirror ή stripe, να κρυπτογραφήσετε, και να συνδέσετε δίσκους με το GEOM, μέσω μιας απομακρυσμένης σύνδεσης. Πως να αντιμετωπίσετε προβλήματα δίσκων που χρησιμοποιούν το πλαίσιο λειτουργιών GEOM. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να κατανοείτε πως μεταχειρίζεται το &os; τις συσκευές δίσκων (). Να γνωρίζετε πως θα ρυθμίσετε και θα εγκαταστήσετε ένα νέο πυρήνα στο &os; (). Εισαγωγή στο GEOM Το GEOM επιτρέπει την πρόσβαση και τον έλεγχο σε κλάσεις — όπως την Κεντρική Εγγραφή Εκκίνησης (Master Boot Record), τα BSD labels, κ.α. — μέσω της χρήσης παροχέων, ή μέσω ειδικών αρχείων στον κατάλογο /dev. Το GEOM υποστηρίζει διάφορες διατάξεις RAID και παρέχει διάφανη πρόσβαση στο λειτουργικό σύστημα και τα βοηθητικά του προγράμματα. Tom Rhodes Γράφηκε από τους Murray Stokely RAID0 - Striping GEOM Striping Το striping είναι μια μέθοδος που συνδυάζει διαφορετικούς φυσικούς δίσκους σε ένα μοναδικό λογικό τόμο. Σε πολλές περιπτώσεις, αυτό γίνεται με την βοήθεια εξειδικευμένου υλικού (ελεγκτών). Το υποσύστημα δίσκων GEOM παρέχει υποστήριξη μέσω λογισμικού για τη διάταξη RAID0, η οποία είναι γνωστή και ως striping. Σε ένα σύστημα RAID0, τα δεδομένα χωρίζονται σε blocks τα οποία γράφονται τμηματικά σε όλους τους δίσκους που αποτελούν τη συστοιχία. Αντί να χρειάζεται να περιμένετε το σύστημα να γράψει 256k δεδομένων σε ένα δίσκο, ένα σύστημα RAID0 μπορεί να γράψει ταυτόχρονα 64k σε καθένα από τους τέσσερις δίσκους μιας συστοιχίας, προσφέροντας έτσι εξαιρετική απόδοση εισόδου/εξόδου (I/O). Η απόδοση αυτή μπορεί να αυξηθεί περισσότερο, με τη χρήση πολλαπλών ελεγκτών δίσκων. Κάθε δίσκος σε ένα stripe RAID0 πρέπει να είναι του ίδιου μεγέθους, καθώς οι αιτήσεις I/O μοιράζονται όσο αφορά την ανάγνωση και εγγραφή, σε πολλούς παράλληλους δίσκους. Διάγραμμα Disk Striping Δημιουργία Stripe από μη-Διαμορφωμένους ATA Δίσκους Φορτώστε το άρθρωμα geom_stripe.ko: &prompt.root; kldload geom_stripe Εξασφαλίστε ότι υπάρχει κατάλληλο σημείο προσάρτησης. Αν ο τόμος πρόκειται να γίνει κατάτμηση root, προσαρτήστε τον προσωρινά σε κάποιο άλλο σημείο προσάρτησης, όπως το /mnt: &prompt.root; mkdir /mnt Καθορίστε τα ονόματα των συσκευών για τους δίσκους που πρόκειται να γίνουν stripe, και δημιουργήστε τη νέα συσκευή stripe. Για παράδειγμα, για να δημιουργήσετε ένα stripe από δύο αχρησιμοποίητους και χωρίς κατατμήσεις δίσκους ATA, όπως π.χ. τους /dev/ad2 και /dev/ad3: &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 Metadata value stored on /dev/ad2. Metadata value stored on /dev/ad3. Done. Γράψτε ένα τυποποιημένο label (πίνακα κατατμήσεων) στο νέο τόμο, και εγκαταστήστε τον προεπιλεγμένο κώδικα εκκίνησης (bootstrap): &prompt.root; bsdlabel -wB /dev/stripe/st0 Η διαδικασία αυτή θα δημιουργήσει τη συσκευή st0, καθώς και δύο ακόμα συσκευές στον κατάλογο /dev/stripe. Οι συσκευές αυτές θα ονομάζονται st0a και st0c. Στο σημείο αυτό, μπορείτε πλέον να δημιουργήσετε σύστημα αρχείων στη συσκευή st0a χρησιμοποιώντας το βοηθητικό πρόγραμμα newfs: &prompt.root; newfs -U /dev/stripe/st0a Θα δείτε μια μεγάλη σειρά αριθμών να περνά γρήγορα από την οθόνη σας, και μετά από λίγα δευτερόλεπτα η διαδικασία θα έχει ολοκληρωθεί. Ο τόμος θα έχει δημιουργηθεί και θα είναι έτοιμος για προσάρτηση. Για να προσαρτήσετε χειροκίνητα το stripe που δημιουργήσατε: &prompt.root; mount /dev/stripe/st0a /mnt Για να γίνεται αυτόματα η προσάρτηση αυτού του συστήματος αρχείων κατά την διαδικασία εκκίνησης, τοποθετήστε τις πληροφορίες του τόμου στο αρχείο /etc/fstab. Για το σκοπό αυτό, δημιουργούμε ένα μόνιμο σημείο προσάρτησης, το stripe: &prompt.root; mkdir /stripe &prompt.root; echo "/dev/stripe/st0a /stripe ufs rw 2 2" \ >> /etc/fstab Το άρθρωμα geom_stripe.ko θα πρέπει να φορτώνεται αυτόματα κατά την εκκίνηση του συστήματος. Εκτελέστε την παρακάτω εντολή, για να προσθέσετε την κατάλληλη ρύθμιση στο /boot/loader.conf: &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf RAID1 - Mirroring GEOM Disk Mirroring Το mirroring (καθρεφτισμός) είναι μια τεχνολογία που χρησιμοποιείται από πολλές εταιρίες και οικιακούς χρήστες για να ασφαλίσουν τα δεδομένα τους χωρίς διακοπές. Σε μια διάταξη mirror, ο δίσκος Β είναι απλώς ένα πλήρες αντίγραφο του δίσκου Α. Ή μπορεί οι δίσκοι Γ+Δ να είναι αντίγραφα των δίσκων A+B. Άσχετα με την ακριβή διάταξη των δίσκων, το σημαντικό είναι ότι οι πληροφορίες ενός δίσκου ή μιας κατάτμησης αντιγράφονται σε άλλους. Οι πληροφορίες αυτές μπορεί αργότερα να αποκατασταθούν με εύκολο τρόπο, ή να αντιγραφούν χωρίς να προκληθεί διακοπή στις υπηρεσίες του μηχανήματος ή στην πρόσβαση των δεδομένων. Μπορούν ακόμα και να μεταφερθούν και να φυλαχθούν σε άλλο, ασφαλές μέρος. Για να ξεκινήσετε, βεβαιωθείτε ότι το σύστημα σας έχει δύο σκληρούς δίσκους ίδιου μεγέθους. Στα παραδείγματα μας θεωρούμε ότι οι δίσκοι είναι τύπου SCSI (απευθείας πρόσβασης, &man.da.4;). Mirroring στους Βασικούς Δίσκους Υποθέτοντας ότι το &os; έχει εγκατασταθεί στον πρώτο δίσκο da0, θα πρέπει να ρυθμίσετε το &man.gmirror.8; να αποθηκεύσει εκεί τα βασικά δεδομένα του. Πριν δημιουργήσετε το mirror, ενεργοποιήστε την δυνατότητα εμφάνισης περισσότερων λεπτομερειών (που μπορεί να σας βοηθήσουν σε περίπτωση προβλήματος) και επιτρέψτε την απευθείας πρόσβαση στη συσκευή δίσκου. Για το σκοπό αυτό θέστε τη μεταβλητή kern.geom.debugflags του &man.sysctl.8; στην παρακάτω τιμή: &prompt.root; sysctl kern.geom.debugflags=17 Μπορείτε τώρα να δημιουργήσετε το mirror. Ξεκινήστε τη διαδικασία αποθηκεύοντας τα μετα-δεδομένα (meta-data) στον βασικό δίσκο, δημιουργώντας ουσιαστικά τη συσκευή /dev/mirror/gm. Χρησιμοποιήστε την παρακάτω εντολή: Η δημιουργία mirror στο δίσκο εκκίνησης μπορεί να έχει ως αποτέλεσμα την απώλεια δεδομένων, αν ο τελευταίος τομέας του δίσκου έχει ήδη χρησιμοποιηθεί. Η πιθανότητα αυτή είναι πολύ μικρότερη αν το mirror δημιουργηθεί αμέσως μετά από μια νέα εγκατάσταση του &os;. &prompt.root; gmirror label -vb round-robin gm0 /dev/da0 Το σύστημα θα ανταποκριθεί με το παρακάτω μήνυμα: Metadata value stored on /dev/da0. Done. Αρχικοποιήστε το GEOM. Η παρακάτω εντολή θα φορτώσει το άρθρωμα /boot/kernel/geom_mirror.ko στον πυρήνα: &prompt.root; gmirror load Με την επιτυχή εκτέλεση αυτής της εντολής, δημιουργείται η συσκευή gm0 μέσα στον κατάλογο /dev/mirror. Ενεργοποιήστε το φόρτωμα του αρθρώματος geom_mirror.ko κατά την εκκίνηση του συστήματος: &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf Επεξεργαστείτε το αρχείο /etc/fstab, αντικαθιστώντας τις αναφορές στις παλιές συσκευές da0 με τις αντίστοιχες καινούριες gm0 που αντιπροσωπεύουν το mirror. Αν χρησιμοποιείτε το &man.vi.1;, μπορείτε να ακολουθήσετε τα παρακάτω βήματα για να ολοκληρώσετε εύκολα αυτή τη διαδικασία: &prompt.root; vi /etc/fstab Στο &man.vi.1;, κρατήστε αντίγραφο ασφαλείας του τρέχοντος αρχείου fstab πληκτρολογώντας :w /etc/fstab.bak. Έπειτα αντικαταστήστε όλες τις αναφορές στις παλιές συσκευές da0 με τις νέες gm0 γράφοντας :%s/da/mirror\/gm/g. Το fstab που θα προκύψει, θα μοιάζει με το παρακάτω. Δεν έχει σημασία αν οι δίσκοι ήταν αρχικά SCSI ή ATA, η συσκευή RAID θα έχει πάντα το όνομα gm. # Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0s1b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 /dev/mirror/gm0s1d /usr ufs rw 0 0 /dev/mirror/gm0s1f /home ufs rw 2 2 #/dev/mirror/gm0s2d /store ufs rw 2 2 /dev/mirror/gm0s1e /var ufs rw 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 Επανεκκινήστε το σύστημα: &prompt.root; shutdown -r now Κατά την εκκίνηση του συστήματος, θα πρέπει πλέον να χρησιμοποιείται η συσκευή gm0 αντί για την da0. Μετά το τέλος της εκκίνησης, μπορείτε να ελέγξετε ότι όλα λειτουργούν σωστά, εξετάζοντας την έξοδο της εντολής mount: &prompt.root; mount Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/mirror/gm0s1a 1012974 224604 707334 24% / devfs 1 1 0 100% /dev /dev/mirror/gm0s1f 45970182 28596 42263972 0% /home /dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr /dev/mirror/gm0s1e 3045006 2241420 559986 80% /var devfs 1 1 0 100% /var/named/dev Η έξοδος φαίνεται σωστή, όπως αναμενόταν. Τελικά, για να ξεκινήσει ο συγχρονισμός, εισάγετε και την συσκευή da1 στο mirror, χρησιμοποιώντας την ακόλουθη εντολή: &prompt.root; gmirror insert gm0 /dev/da1 Κατά τη διάρκεια του συγχρονισμού του mirror, μπορείτε να δείτε την πρόοδο της διαδικασίας με την παρακάτω εντολή: &prompt.root; gmirror status Μετά το τέλος της δόμησης του mirror, και αφού έχουν συγχρονιστεί όλα τα δεδομένα, η έξοδος της παραπάνω εντολής θα μοιάζει με την ακόλουθη: Name Status Components mirror/gm0 COMPLETE da0 da1 Αν υπάρχουν προβλήματα, ή αν το mirror βρίσκεται ακόμα στη διαδικασία συγχρονισμού, το παράδειγμα θα δείχνει DEGRADED αντί για COMPLETE. Αντιμετώπιση Προβλημάτων Το σύστημα αρνείται να ξεκινήσει Αν το σύστημα σας σταματάει σε μια προτροπή που μοιάζει με την παρακάτω: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> Επανεκκινήστε το σύστημα σας μέσω του διακόπτη τροφοδοσίας ή του πλήκτρου reset. Στο μενού εκκίνησης, επιλέξτε το (6). Με τον τρόπο αυτό θα βρεθείτε στην προτροπή του &man.loader.8;. Φορτώστε χειροκίνητα το άρθρωμα στον πυρήνα: OK? load geom_mirror OK? boot Αν το παραπάνω λειτουργήσει, τότε για κάποιο λόγο το άρθρωμα δεν φορτώθηκε σωστά. Ελέγξτε αν είναι σωστή η σχετική καταχώριση στο αρχείο /boot/loader.conf. Αν το πρόβλημα παραμένει, προσθέστε τη γραμμή: options GEOM_MIRROR στο αρχείο ρυθμίσεων του πυρήνα σας, αναδημιουργήστε και επανεγκαταστήστε τον πυρήνα σας. Το πρόβλημα σας θα πρέπει να διορθωθεί. Επαναφορά Μετά από Αποτυχία Δίσκου Το εκπληκτικό με το mirroring είναι ότι όταν ένας σκληρός δίσκος χαλάσει, μπορείτε να τον αντικαταστήσετε χωρίς να χάσετε καθόλου δεδομένα. Υποθέτοντας ότι χρησιμοποιούμε τις ρυθμίσεις RAID1 που δείξαμε προηγουμένως, ας θεωρήσουμε ότι χάλασε ο δίσκος da1 και πρέπει να αντικατασταθεί. Για να τον αντικαταστήσετε, βρείτε ποιος δίσκος είναι και απενεργοποιήστε το σύστημα. Στο σημείο αυτό, μπορείτε πλέον να ανταλλάξετε το δίσκο με ένα νέο και να ενεργοποιήσετε ξανά το σύστημα. Μετά την επανενεργοποίηση του συστήματος, μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές για να θέσετε σε λειτουργία το νέο δίσκο: &prompt.root; gmirror forget gm0 &prompt.root; gmirror insert gm0 /dev/da1 Χρησιμοποιήστε την εντολή gmirror για να παρακολουθείτε τη διαδικασία του συγχρονισμού. Είναι στα αλήθεια τόσο απλό. Δικτυακές Συσκευές μέσω GEOM Gate Το GEOM υποστηρίζει απομακρυσμένη χρήση συσκευών, όπως οι σκληροί δίσκοι, τα CD-ROM, τα αρχεία κ.λ.π. χρησιμοποιώντας τα βοηθητικά προγράμματα πύλης (gate). Η λειτουργία είναι παρόμοια με το NFS. Για να ξεκινήσετε, πρέπει να δημιουργήσετε ένα αρχείο exports. Το αρχείο αυτό καθορίζει ποιος επιτρέπεται να αποκτήσει πρόσβαση στους κοινόχρηστους πόρους και τι επιπέδου θα είναι αυτή η πρόσβαση. Για παράδειγμα, για να διαμοιράσετε την τέταρτη κατάτμηση (slice) του πρώτου δίσκου SCSI, είναι αρκετό να δημιουργήσετε το παρακάτω αρχείο /etc/gg.exports: 192.168.1.0/24 RW /dev/da0s4d Το παραπάνω θα επιτρέψει σε όλους τους υπολογιστές του ιδιωτικού σας δικτύου, να έχουν πρόσβαση μέσω δικτύου στο σύστημα αρχείων της κατάτμησης da0s4d. Για να διαμοιράσετε αυτή τη συσκευή, βεβαιωθείτε ότι δεν είναι προσαρτημένη τη δεδομένη στιγμή, και ξεκινήστε το δαίμονα εξυπηρετητή &man.ggated.8;: &prompt.root; ggated Για να προσαρτήσετε την συσκευή στο μηχάνημα πελάτη, χρησιμοποιήστε τις ακόλουθες εντολές: &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d ggate0 &prompt.root; mount /dev/ggate0 /mnt Από εδώ και στο εξής, μπορείτε να έχετε πρόσβαση στη συσκευή μέσω του σημείου προσάρτησης /mnt. Πρέπει να τονιστεί ότι η διαδικασία θα αποτύχει αν η συσκευή είναι τη δεδομένη στιγμή προσαρτημένη, είτε στον εξυπηρετητή, είτε σε οποιοδήποτε άλλο υπολογιστή στο δίκτυο. Όταν δεν χρειάζεστε πλέον τη συσκευή, μπορείτε να την αποπροσαρτήσετε με ασφάλεια, χρησιμοποιώντας την εντολή &man.umount.8;, όπως γίνεται και με οποιαδήποτε άλλη συσκευή δίσκου. Δημιουργώντας Ετικέτες (Labels) στις Συσκευές Δίσκων GEOM Disk Labels Κατά τη διάρκεια της αρχικοποίησης, στην εκκίνηση του συστήματος, ο πυρήνας του &os; θα δημιουργήσει τα απαραίτητα αρχεία για κάθε συσκευή που ανιχνεύει. Αυτή η μέθοδος ανίχνευσης συσκευών, μπορεί να δημιουργήσει προβλήματα. Για παράδειγμα, τι θα γίνει αν προσθέσουμε ένα νέο δίσκο USB; Είναι αρκετά πιθανό μια συσκευή μνήμης flash να πάρει το όνομα da0 και η αρχική da0 να μετακινηθεί στο da1. Αυτό θα προκαλέσει προβλήματα στην προσάρτηση των συστημάτων αρχείων, αν υπάρχουν οι αντίστοιχες καταχωρίσεις τους στο /etc/fstab, και μπορεί ακόμα και να παρεμποδίσει την κανονική εκκίνηση του συστήματος. Μια λύση είναι να ρυθμίσετε τις συσκευές SCSI με τέτοιο τρόπο, ώστε η αρίθμηση τους να είναι συνεχόμενη. Έτσι, κάθε φορά που προσθέτετε μια νέα συσκευή στον ελεγκτή SCSI θα είστε σίγουρος ότι θα λάβει αριθμό που δεν έχει χρησιμοποιηθεί. Αλλά τι γίνεται με τις συσκευές USB που μπορεί να αντικαταστήσουν τον κύριο SCSI δίσκο; Αυτό μπορεί πράγματι να συμβεί, καθώς οι συσκευές USB ανιχνεύονται κατά βάση πριν από τον ελεγκτή SCSI. Μια λύση είναι να βάζετε τις συσκευές αυτές μόνο μετά την εκκίνηση του συστήματος. Μια άλλη μέθοδος είναι να χρησιμοποιείτε μόνο μια συσκευή τύπου ATA και να μην καταχωρείτε ποτέ τους δίσκους SCSI στο /etc/fstab. Υπάρχει ωστόσο καλύτερη λύση. Χρησιμοποιώντας το βοηθητικό πρόγραμμα glabel, ένας διαχειριστής ή χρήστης, μπορεί να αποδώσει ετικέτες στις συσκευές δίσκων και να τις χρησιμοποιήσει στο /etc/fstab, αντί για τα συμβατικά ονόματα συσκευών. Επειδή η glabel αποθηκεύει την ετικέτα στον τελευταίο τομέα του κάθε παροχέα (συσκευής δίσκου), η ετικέτα διατηρείται και μετά από την επανεκκίνηση του συστήματος. Χρησιμοποιώντας αυτή την ετικέτα ως όνομα συσκευής, θα μπορείτε να προσαρτήσετε πάντα το σύστημα αρχείων, άσχετα με το πραγματικό όνομα συσκευής που έχει αποδοθεί στο δίσκο. Δεν χρειάζεται φυσικά να τονίσουμε ότι αυτή η ετικέτα θα πρέπει να είναι μόνιμη. Το βοηθητικό πρόγραμμα glabel μπορεί να δημιουργήσει τόσο μόνιμες όσο και προσωρινές ετικέτες. Μόνο οι μόνιμες ετικέτες διατηρούνται ανέπαφες μετά από μια επανεκκίνηση. Δείτε τη σελίδα manual της &man.glabel.8; για περισσότερες πληροφορίες σχετικά με τα είδη των ετικετών. Είδη Ετικετών και Παραδείγματα Υπάρχουν δύο τύποι ετικετών, η γενική ετικέτα και η ετικέτα συστήματος αρχείων. Οι ετικέτες μπορεί να είναι προσωρινές ή μόνιμες. Οι μόνιμες ετικέτες μπορούν να δημιουργηθούν με τις εντολές &man.tunefs.8; ή &man.newfs.8;. Στην περίπτωση αυτή, θα δημιουργηθούν σε ένα υποκατάλογο του /dev. Για παράδειγμα, οι ετικέτες συσκευών με σύστημα αρχείων UFS2, θα δημιουργηθούν στον κατάλογο /dev/ufs. Μόνιμες ετικέτες μπορούν επίσης να δημιουργηθούν με χρήση της εντολής glabel label. Οι ετικέτες αυτές δεν εξαρτώνται από το σύστημα αρχείων, και δημιουργούνται στον κατάλογο /dev/label. Οι ετικέτες προσωρινού τύπου, χάνονται σε κάθε επανεκκίνηση του συστήματος. Οι ετικέτες αυτές δημιουργούνται στον κατάλογο /dev/label και είναι τέλειες για πειραματισμούς. Μπορείτε να δημιουργήσετε προσωρινές ετικέτες με την εντολή glabel create. Για περισσότερες πληροφορίες, διαβάστε τη σελίδα manual της &man.glabel.8;. Για να δημιουργήσετε μια μόνιμη ετικέτα για ένα σύστημα αρχείων UFS2, χωρίς να καταστρέψετε τα δεδομένα που περιέχει, χρησιμοποιήστε την ακόλουθη εντολή: &prompt.root; tunefs -L home /dev/da3 Αν το σύστημα αρχείων είναι γεμάτο, η παραπάνω εντολή μπορεί να προκαλέσει καταστροφή δεδομένων. Ωστόσο, αν το σύστημα αρχείων είναι γεμάτο, στόχος σας θα πρέπει να είναι να διαγράψετε τα αρχεία που δεν χρησιμοποιούνται, και όχι να προσθέτετε ετικέτες. Θα πρέπει τώρα να υπάρχει μια ετικέτα στον κατάλογο /dev/ufs η οποία μπορεί να προστεθεί στο /etc/fstab: /dev/ufs/home /home ufs rw 2 2 Το σύστημα αρχείων δεν πρέπει να είναι προσαρτημένο καθώς εκτελείτε την εντολή tunefs. Μπορείτε τώρα να προσαρτήσετε το σύστημα αρχείων με το συνήθη τρόπο: &prompt.root; mount /home Από εδώ και πέρα, και όσο το άρθρωμα geom_label.ko φορτώνεται στον πυρήνα μέσω του /boot/loader.conf ή εφόσον έχετε βάλει την επιλογή GEOM_LABEL στον πυρήνα σας, ακόμα και αν το όνομα της συσκευής αλλάξει, δεν θα έχει καμιά δυσμενή επίδραση στο σύστημα σας. Μπορείτε επίσης να δημιουργήσετε συστήματα αρχείων με προεπιλεγμένη ετικέτα, χρησιμοποιώντας την επιλογή στην εντολή newfs. Δείτε την σελίδα manual του &man.newfs.8; για περισσότερες πληροφορίες. Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για να καταστρέψετε μια ετικέτα: &prompt.root; glabel destroy home Το επόμενο παράδειγμα δείχνει πως μπορούν να δοθούν ετικέτες στις κατατμήσεις του δίσκου εκκίνησης. Δημιουργία Ετικετών στις Κατατμήσεις του Δίσκου Εκκίνησης Δημιουργώντας μόνιμες ετικέτες στις κατατμήσεις του δίσκου εκκίνησης, το σύστημα σας θα συνεχίσει να εκκινεί κανονικά ακόμα και αν μεταφέρετε το δίσκο σε άλλο ελεγκτή ή ακόμα και σε διαφορετικό σύστημα. Στο παράδειγμα μας, θεωρούμε ότι χρησιμοποιείται ένας δίσκος ATA, ο οποίος αναγνωρίζεται από το σύστημα ως ad0. Θεωρούμε επίσης ότι χρησιμοποιείται η συνηθισμένη διάταξη κατατμήσεων του &os;, που περιλαμβάνει τις κατατμήσεις /, /var, /usr και /tmp όπως επίσης και μια κατάτμηση swap. Επανεκκινήστε το σύστημα, και όταν εμφανιστεί η προτροπή του &man.loader.8;, πιέστε το 4 για να πραγματοποιηθεί εκκίνηση σε κατάσταση ενός χρήστη. Έπειτα, δώστε τις ακόλουθες εντολές: &prompt.root; glabel label rootfs /dev/ad0s1a GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs &prompt.root; glabel label var /dev/ad0s1d GEOM_LABEL: Label for provider /dev/ad0s1d is label/var &prompt.root; glabel label usr /dev/ad0s1f GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr &prompt.root; glabel label tmp /dev/ad0s1e GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp &prompt.root; glabel label swap /dev/ad0s1b GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap &prompt.root; exit Η εκκίνηση θα συνεχιστεί κανονικά και το σύστημα θα έλθει σε κατάσταση πολλαπλών χρηστών (multi-user). Μετά το τέλος της εκκίνησης, επεξεργαστείτε το αρχείο /etc/fstab και αλλάξτε τα συμβατικά ονόματα συσκευών με τις αντίστοιχες ετικέτες. Το τελικό αρχείο /etc/fstab θα μοιάζει με το παρακάτω: # Device Mountpoint FStype Options Dump Pass# /dev/label/swap none swap sw 0 0 /dev/label/rootfs / ufs rw 1 1 /dev/label/tmp /tmp ufs rw 2 2 /dev/label/usr /usr ufs rw 2 2 /dev/label/var /var ufs rw 2 2 Μπορείτε τώρα να επανεκκινήσετε το σύστημα. Αν όλα πήγαν καλά, η εκκίνηση θα είναι κανονική, και η εντολή mount θα δείξει: &prompt.root; mount /dev/label/rootfs on / (ufs, local) devfs on /dev (devfs, local) /dev/label/tmp on /tmp (ufs, local, soft-updates) /dev/label/usr on /usr (ufs, local, soft-updates) /dev/label/var on /var (ufs, local, soft-updates) Ξεκινώντας από το &os; 7.2, το &man.glabel.8; υποστηρίζει ένα νέο είδος ετικέτας για συστήματα αρχείων UFS, που βασίζεται σε ένα μοναδιαίο αναγνωριστικό τους, το ufsid. Οι ετικέτες αυτές βρίσκονται στον κατάλογο /dev/ufsid, δημιουργούνται αυτόματα κατά την εκκίνηση του συστήματος και είναι δυνατόν να χρησιμοποιηθούν για την προσάρτηση κατατμήσεων μέσω του /etc/fstab. Μπορείτε να χρησιμοποιήσετε την εντολή glabel status για να λάβετε μια λίστα των συστημάτων αρχείων με τις αντίστοιχες ufsid ετικέτες τους: &prompt.user; glabel status Name Status Components ufsid/486b6fc38d330916 N/A ad4s1d ufsid/486b6fc16926168e N/A ad4s1f Στο παραπάνω παράδειγμα, το ad4s1d αντιπροσωπεύει το σύστημα αρχείων /var, ενώ το ad4s1f αντιπροσωπεύει το σύστημα αρχείων /usr. Χρησιμοποιώντας τις τιμές ufsid που φαίνονται, η προσάρτηση αυτών των κατατμήσεων μπορεί να γίνει με τις παρακάτω καταχωρίσεις στο /etc/fstab: /dev/ufsid/486b6fc38d330916 /var ufs rw 2 2 /dev/ufsid/486b6fc16926168e /usr ufs rw 2 2 Οποιαδήποτε κατάτμηση διαθέτει αναγνωριστικό ufsid μπορεί να προσαρτηθεί με τον ίδιο τρόπο, χωρίς να υπάρχει πλέον ανάγκη να δημιουργηθεί μόνιμη ετικέτα χειροκίνητα. Η προσάρτηση μέσω ετικέτας ufsid, παρέχει το πλεονέκτημα της ανεξαρτησίας από το όνομα συσκευής, το οποίο παρέχουν και οι μόνιμες ετικέτες. UFS Journaling Μέσω GEOM GEOM Journaling Στην έκδοση 7.0 του &os; υλοποιείται για πρώτη φορά η νέα (και από πολλούς αναμενόμενη) δυνατότητα για χρήση ημερολογίου (journal) στο σύστημα αρχείων UFS. Η υλοποίηση παρέχεται μέσω του υποσυστήματος GEOM και μπορεί να ρυθμιστεί εύκολα μέσω του βοηθητικού προγράμματος &man.gjournal.8;. Τι είναι το journaling; Το journaling αποθηκεύει σε ένα αρχείο καταγραφής (log, ημερολόγιο, ή απλώς journal) τις συναλλαγές του συστήματος αρχείων. Παράδειγμα συναλλαγής είναι οι αλλαγές που απαιτούνται για μια πλήρη διαδικασία εγγραφής στο δίσκο. Έτσι, στο log αποθηκεύονται οι αλλαγές στα μετα-δεδομένα (meta-data) και στα ίδια τα αρχεία, πριν γίνει η τελική (κανονική) αποθήκευση τους στο δίσκο. Το αρχείο καταγραφής μπορεί αργότερα να ξαναχρησιμοποιηθεί ώστε η συναλλαγή να γίνει από την αρχή, εξασφαλίζοντας με αυτό τον τρόπο ότι το σύστημα αρχείων θα παραμείνει σε σταθερή κατάσταση. Πρόκειται ουσιαστικά για μια ακόμα μέθοδο προφύλαξης από απώλεια δεδομένων και ασυνέπειες στο σύστημα αρχείων. Σε αντίθεση με τα Soft Updates τα οποία εντοπίζουν και υποχρεώνουν την άμεση εγγραφή των μετα-δεδομένων, και των στιγμιοτύπων (Snapshots) τα οποία είναι εικόνες του συστήματος αρχείων σε μια δεδομένη στιγμή, το log αποθηκεύεται σε χώρο που έχει εκχωρηθεί ειδικά για αυτό το σκοπό, και σε μερικές περιπτώσεις μπορεί να αποθηκεύεται σε εντελώς διαφορετικό δίσκο. Σε αντίθεση με υλοποιήσεις journaling σε άλλα συστήματα αρχείων, η μέθοδος gjournal βασίζεται σε blocks, και δεν υλοποιείται ως μέρος του συστήματος αρχείων, αλλά μόνο ως επέκταση του GEOM. Για ενεργοποίηση της υποστήριξης gjournal, θα πρέπει να υπάρχει η παρακάτω επιλογή στον πυρήνα του &os;. Η επιλογή αυτή υπάρχει από προεπιλογή στα συστήματα 7.X: options UFS_GJOURNAL Αν χρειάζεται να προσαρτώνται τόμοι με journaling κατά την εκκίνηση, θα πρέπει επίσης να φορτώνεται αυτόματα και το άρθρωμα πυρήνα geom_journal.ko. Για το σκοπό αυτό, προσθέστε την παρακάτω γραμμή στο αρχείο /boot/loader.conf: geom_journal_load="YES" Εναλλακτικά, η λειτουργία αυτή μπορεί να ενσωματωθεί σε ένα προσαρμοσμένο πυρήνα, με την προσθήκη της παρακάτω γραμμής στο αντίστοιχο αρχείο ρυθμίσεων: options GEOM_JOURNAL Η δημιουργία journal σε ένα ελεύθερο σύστημα αρχείων, μπορεί τώρα να γίνει με τα ακόλουθα βήματα, θεωρώντας ότι η συσκευή da4 είναι ένας νέος δίσκος SCSI: - &prompt.root; gjournal label /dev/da4 -&prompt.root; gjournal load + &prompt.root; gjournal load +&prompt.root; gjournal label /dev/da4 Στο σημείο αυτό θα υπάρχει μια συσκευή /dev/da4 καθώς και μια συσκευή /dev/da4.journal. Στη συσκευή αυτή μπορείτε τώρα να δημιουργήσετε σύστημα αρχείων: &prompt.root; newfs -O 2 -J /dev/da4.journal Η παραπάνω εντολή θα δημιουργήσει ένα σύστημα αρχείων UFS2 και ταυτόχρονα θα ενεργοποιήσει το journaling. Μπορείτε να χρησιμοποιήσετε την εντολή mount για να προσαρτήσετε την συσκευή στο επιθυμητό σημείο προσάρτησης, όπως φαίνεται παρακάτω: &prompt.root; mount /dev/da4.journal /mnt Στην περίπτωση αρκετών slice, θα δημιουργηθεί ένα journal για κάθε επιμέρους slice. Για παράδειγμα, αν υπάρχουν τα slices ad4s1 και ad4s2 τότε το gjournal θα δημιουργήσει τις συσκευές ad4s1.journal και ad4s2.journal. Στην περίπτωση που εκτελέσετε την εντολή δύο φορές, το αποτέλεσμα θα είναι journals. Κάτω από ορισμένες προϋποθέσεις, ίσως είναι επιθυμητή η τήρηση του journal σε διαφορετικό δίσκο. Για τις περιπτώσεις αυτές, ο παροχέας ημερολογίου (η συσκευή δίσκου που θα περιέχει το journal) πρέπει να δίνεται ως παράμετρος στην εντολή, αμέσως μετά τη συσκευή δίσκου στην οποία θα ενεργοποιηθεί το journaling. Μπορείτε επίσης να ενεργοποιήσετε το journaling σε υπάρχοντα συστήματα αρχείων χρησιμοποιώντας την εντολή tunefs. Ωστόσο, θα πρέπει να κρατήσετε αντίγραφο ασφαλείας των αρχείων σας, πριν επιχειρήσετε να κάνετε αλλαγές σε ένα υπάρχον σύστημα αρχείων. Στις περισσότερες περιπτώσεις, η tunefs θα αποτύχει αν δεν μπορέσει να δημιουργήσει το journal, αλλά αυτό δεν σας προστατεύει από απώλεια δεδομένων που μπορεί να προέλθει από κακή χρήση της tunefs. Είναι επίσης δυνατόν να χρησιμοποιηθεί journaling στον δίσκο εκκίνησης ενός συστήματος &os;. Διαβάστε το άρθρο Υλοποίηση του UFS Journaling σε ένα Desktop Υπολογιστή για λεπτομερείς οδηγίες. diff --git a/el_GR.ISO8859-7/books/handbook/install/chapter.sgml b/el_GR.ISO8859-7/books/handbook/install/chapter.sgml index 951bad0980..059b096746 100644 --- a/el_GR.ISO8859-7/books/handbook/install/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/install/chapter.sgml @@ -1,5223 +1,5201 @@ Jim Mock Ανασχηματισμένο, αναδιοργανωμένο, και μερικώς ξαναγραμμένο από τον Randy Pratt Η βήμα προς βήμα διαδικασία του sysinstall, οι εικόνες, και γενικές διορθώσεις κειμένου από τον Εγκαθιστώντας το &os; Σύνοψη εγκατάσταση Το &os; διανέμεται με ένα εύχρηστο πρόγραμμα εγκατάστασης, το οποίο τρέχει σε κατάσταση κειμένου: το sysinstall. Είναι το προεπιλεγμένο πρόγραμμα εγκατάστασης για το &os;, αλλά όποιος διανέμει το &os; είναι ελεύθερος να παρέχει δικό του πρόγραμμα εγκατάστασης. Το κεφάλαιο αυτό περιγράφει πως μπορείτε να χρησιμοποιήσετε το sysinstall για να εγκαταστήσετε το &os;. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως να δημιουργήσετε δισκέτες εγκατάστασης για το &os;. Πως αναφέρεται στους σκληρούς δίσκους σας το &os; και πως τους χωρίζει σε κατατμήσεις. Πως να ξεκινήσετε το sysinstall. Τις ερωτήσεις που θα σας κάνει το sysinstall, τι σημαίνουν, και πως να τις απαντήσετε. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να διαβάσετε τη λίστα του υποστηριζόμενου υλικού που έρχεται με την έκδοση του &os; την οποία θα εγκαταστήσετε, και να επαληθεύσετε ότι το υλικό που έχετε υποστηρίζεται από το &os;. Σε γενικές γραμμές αυτές οι οδηγίες εγκατάστασης είναι γραμμένες για τους &i386; (PC συμβατούς) αρχιτεκτονικής υπολογιστές. Όπου χρειάζεται, θα εμφανίζονται συγκεκριμένες οδηγίες - για άλλες πλατφόρμες (για παράδειγμα, Alpha). Αν και αυτός ο οδηγός + για άλλες πλατφόρμες. Αν και αυτός ο οδηγός διατηρείται όσο το δυνατόν πιο ενημερωμένος, είναι πιθανόν να βρείτε μικρές διαφορές μεταξύ του προγράμματος εγκατάστασης και αυτού που φαίνεται εδώ. Σας προτείνουμε να χρησιμοποιήσετε το κεφάλαιο αυτό περισσότερο σαν γενικό οδηγό παρά σαν ένα κατά γράμμα εγχειρίδιο εγκατάστασης. Απαιτήσεις Υλικού Ελάχιστες Απαιτήσεις Οι ελάχιστες απαιτήσεις για την εγκατάσταση του &os; ποικίλουν ανάλογα με την έκδοση του &os; και την αρχιτεκτονική του υλικού. Πληροφορίες για τις ελάχιστες απαιτήσεις είναι διαθέσιμες στις Σημειώσεις Εγκατάστασης, στην σελίδα Πληροφορίες Έκδοσης στο δικτυακό τόπο του &os;. Στα παρακάτω τμήματα δίνεται μια περίληψη των πληροφοριών αυτών. Ανάλογα με τον τρόπο που θα επιλέξετε να εγκαταστήσετε το &os;, μπορεί να χρειαστείτε μονάδα δισκέτας, ένα υποστηριζόμενο οδηγό CD-ROM, και σε ορισμένες περιπτώσεις, κάρτα δικτύου. Τα παραπάνω καλύπτονται στο - . + . Αρχιτεκτονικές &os;/&arch.i386; και &os;/&arch.pc98; Οι εκδόσεις &os;/&i386; και &os;/&arch.pc98; απαιτούν 486 ή καλύτερο επεξεργαστή και τουλάχιστον 24 MB RAM. Θα χρειαστείτε τουλάχιστον 150 MB ελεύθερου χώρου στο σκληρό δίσκο για την πλέον ελάχιστη εγκατάσταση. Σε περιπτώσεις παλιών μηχανημάτων, τις περισσότερες φορές, η ύπαρξη περισσότερης μνήμης RAM και ελεύθερου χώρου στο δίσκο είναι πιο σημαντική από ένα ταχύτερο επεξεργαστή. Αρχιτεκτονική &os;/&arch.alpha; - Για να εγκαταστήσετε το &os;/&arch.alpha;, θα χρειαστείτε μια - υποστηριζόμενη πλατφόρμα (δείτε ) και ένα δίσκο αποκλειστικά - για χρήση από το &os;. Τη δεδομένη στιγμή, δεν είναι δυνατόν να - μοιράζεται τον ίδιο δίσκο το &os; με ένα άλλο λειτουργικό. Ο δίσκος - αυτός θα πρέπει να είναι προσαρμοσμένος σε ένα ελεγκτή SCSI ο οποίος - να υποστηρίζεται από το SRM firmware, ή ακόμα και ένα ελεγκτή IDE - εφόσον το SRM στο μηχάνημα σας υποστηρίζει εκκίνηση από δίσκους - IDE. - - Θα χρειαστείτε το firmware της κονσόλας SRM για την πλατφόρμα - σας. Σε κάποιες περιπτώσεις, είναι δυνατή η εναλλαγή μεταξύ - AlphaBIOS (ή ARC) firmware και SRM. Σε άλλες, θα πρέπει να - κατεβάσετε νέο firmware από το δικτυακό τόπο του - κατασκευαστή. + Alpha - - Η υποστήριξη της αρχιτεκτονικής Alpha διακόπτεται από την + Η υποστήριξη της αρχιτεκτονικής Alpha διακόπτεται από την έκδοση &os; 7.0 και μετά. Η σειρά εκδόσεων &os; 6.X είναι η τελευταία - που υποστηρίζει την αρχιτεκτονική αυτή. - + που υποστηρίζει την αρχιτεκτονική αυτή. Για περισσότερες + πληροφορίες, παρακαλούμε ελέγξτε τις σχετικές Πληροφορίες + Έκδοσης στην δικτυακή τοποθεσία του &os;. Αρχιτεκτονική &os;/&arch.amd64; Υπάρχουν δύο κλάσεις επεξεργαστών ικανές να εκτελέσουν το &os;/&arch.amd64;. Η πρώτη, είναι οι επεξεργαστές AMD64, περιλαμβανομένου του &amd.athlon;64, του &amd.athlon;64-FX, του &amd.opteron; ή καλύτερων. Η δεύτερη κλάση επεξεργαστών που μπορούν να χρησιμοποιήσουν &os;/&arch.amd64;, περιλαμβάνει όσους χρησιμοποιούν την αρχιτεκτονική &intel; EM64T. Παραδείγματα των επεξεργαστών αυτών περιλαμβάνουν τις οικογένειες &intel; &core; 2 Duo, Quad, και Extreme καθώς και τη σειρά επεξεργαστών &intel; &xeon; 3000, 5000, και 7000. Αν το μηχάνημα σας είναι βασισμένο σε nVidia nForce3 Pro-150, θα πρέπει να χρησιμοποιήσετε την κατάλληλη επιλογή στο BIOS για να απενεργοποιήσετε το IO APIC. Αν η επιλογή αυτή δεν υπάρχει, θα πρέπει να απενεργοποιήσετε αντί αυτού το ACPI. Υπάρχουν προβλήματα στο Pro-150 για τα οποία μέχρι στιγμής δεν έχει βρεθεί λύση που να τα παρακάμπτει. Αρχιτεκτονική &os;/&arch.sparc64; Για να εγκαταστήσετε το &os;/&arch.sparc64;, θα χρειαστείτε μια υποστηριζόμενη πλατφόρμα (δείτε ). Θα χρειαστείτε ένα δίσκο για αποκλειστική χρήση από το &os;/&arch.sparc64;. Τη δεδομένη στιγμή, δεν είναι δυνατόν να μοιράζεται τον ίδιο δίσκο το &os; με ένα άλλο λειτουργικό σύστημα. Υποστηριζόμενο Υλικό Η λίστα με το υποστηριζόμενο υλικό, παρέχεται στις Σημειώσεις Υλικού (Hardware Notes) με κάθε έκδοση του &os;. Το έγγραφο αυτό μπορεί συνήθως να βρεθεί με όνομα αρχείου HARDWARE.TXT, στον ριζικό κατάλογο μια διανομής CDROM ή FTP, ή και στο μενού documentation του sysinstall. Για κάθε αρχιτεκτονική, θα βρείτε μια λίστα συσκευών οι οποίες επιβεβαιωμένα υποστηρίζονται από το &os;. Αντίγραφα του καταλόγου υποστηριζόμενου υλικού για διάφορες εκδόσεις και αρχιτεκτονικές μπορούν επίσης να βρεθούν στη σελίδα Πληροφοριών Έκδοσης στο δικτυακό τόπο του &os;. Εργασίες πριν την Εγκατάσταση Απογραφή Υλικού του Υπολογιστή σας Πριν εγκαταστήσετε το &os; πρέπει να επιχειρήσετε να απογράψετε τα εξαρτήματα του υπολογιστή σας. Οι ρουτίνες εγκατάστασης του &os; θα σας δείξουν τα εξαρτήματα (σκληρούς δίσκους, κάρτες δικτύου, οδηγούς CDROM κλπ.) με τα ονόματα των μοντέλων και των κατασκευαστών τους. Το &os; θα επιχειρήσει επίσης να προσδιορίσει τις σωστές ρυθμίσεις για τις συσκευές αυτές, συμπεριλαμβανομένων και των πληροφοριών για τη χρήση IRQ και θυρών IO. Λόγω των ιδιομορφιών του υλικού των PC, η διαδικασία αυτή δεν είναι πάντα επιτυχής, και ίσως χρειαστεί να διορθώσετε τις ρυθμίσεις που ανίχνευσε το &os;. Αν έχετε ήδη άλλο λειτουργικό σύστημα εγκατεστημένο, όπως &windows; ή Linux, είναι γενικά καλή ιδέα να χρησιμοποιήσετε τις δυνατότητες που σας παρέχει για να δείτε τις ρυθμίσεις του υλικού σας. Αν δεν είστε σίγουροι για τις ρυθμίσεις μιας κάρτας επέκτασης, ίσως να τις βρείτε τυπωμένες πάνω στην ίδια την κάρτα. Συνηθισμένα IRQ είναι τα 3, 5 και 7 ενώ οι θύρες IO συνήθως γράφονται ως δεκαεξαδικοί αριθμοί, π.χ. 0x330. Σας συνιστούμε να γράψετε ή να εκτυπώσετε τις πληροφορίες αυτές πριν την εγκατάσταση του &os;. Σαν υπόδειγμα, μπορείτε να χρησιμοποιήσετε ένα πίνακα όπως τον παρακάτω: Υπόδειγμα Απογραφής Συσκευών Όνομα Συσκευής IRQ IO θύρες Σημειώσεις Πρώτος Σκληρός Δίσκος N/A N/A 40 GB, της Seagate, master στο πρώτο IDE CDROM N/A N/A slave στο πρώτο IDE Δεύτερος Σκληρός Δίσκος N/A N/A 20 GB, της IBM, master στο δεύτερο IDE Πρώτος Ελεγκτής IDE 14 0x1f0 Κάρτα Δικτύου N/A N/A &intel; 10/100 Modem N/A N/A &tm.3com; 56K faxmodem, στην COM1
Όταν τελειώσετε την απογραφή εξαρτημάτων του υπολογιστή σας, θα πρέπει να ελέγξετε αν ταιριάζουν με τις απαιτήσεις υλικού της έκδοσης &os; που σκοπεύετε να εγκαταστήσετε.
Κρατήστε Αντίγραφα Ασφαλείας των Δεδομένων σας Αν ο υπολογιστής στον οποίο θα εγκαταστήσετε το &os; περιέχει πολύτιμα δεδομένα, βεβαιωθείτε ότι έχετε κρατήσει αντίγραφα ασφαλείας τα οποία μάλιστα έχετε ελέγξει ότι δουλεύουν, πριν εγκαταστήσετε το &os;. Το πρόγραμμα εγκατάστασης του &os; θα σας ρωτήσει πριν γράψει οτιδήποτε στο δίσκο σας, αλλά από τη στιγμή που η διαδικασία αυτή ξεκινήσει, δεν υπάρχει δυνατότητα επιστροφής. Αποφασίστε που θα Εγκαταστήσετε το &os; Αν θέλετε το &os; να χρησιμοποιήσει ολόκληρο το σκληρό σας δίσκο, δεν υπάρχει κάτι άλλο που πρέπει να κάνετε αυτή τη στιγμή — μπορείτε να παραλείψετε αυτό το τμήμα. Αν ωστόσο θέλετε το &os; να συνυπάρχει με άλλα λειτουργικά συστήματα, πρέπει να κατανοείτε χονδρικά τον τρόπο διάταξης των δεδομένων στο δίσκο, και τις επιδράσεις που μπορεί προκαλέσει. Κατατμήσεις Δίσκων για Αρχιτεκτονική &os/&arch.i386; Ένας σκληρός δίσκος PC μπορεί να χωριστεί σε διακριτά τμήματα. Τα τμήματα αυτά καλούνται κατατμήσεις (partitions). Επειδή το &os; έχει επίσης εσωτερικές κατατμήσεις, η ονομασία γρήγορα μπορεί να οδηγήσει σε σύγχυση, και για το λόγο αυτό οι εξωτερικές κατατμήσεις αναφέρονται ως disk slices (φέτες) ή απλώς slices στο &os;. Για παράδειγμα το πρόγραμμα fdisk του &os;, το οποίο χειρίζεται τις κατατμήσεις δίσκων του PC, τις αναφέρει ως slices αντί για partitions. Από τη σχεδίαση του, το PC υποστηρίζει μόνο τέσσερις κατατμήσεις ανά δίσκο. Οι κατατμήσεις αυτές ονομάζονται πρωτεύουσες (primary partitions). Για να ξεπεραστεί αυτός ο περιορισμός και να δημιουργήσουμε περισσότερες κατατμήσεις, δημιουργήθηκε ένα νέο είδος κατάτμησης, η εκτεταμένη κατάτμηση (extended partition). Ένας δίσκος μπορεί να περιέχει μόνο μια εκτεταμένη κατάτμηση. Μέσα στην εκτεταμένη κατάτμηση μπορούν να δημιουργηθούν ειδικές λογικές κατατμήσεις. Κάθε κατάτμηση διαθέτει ένα partition ID, ένα αριθμό που χρησιμοποιείται για να αναγνωρίζει τον τύπο δεδομένων της κατάτμησης. Οι κατατμήσεις του &os; έχουν για partition ID το 165. Γενικά, κάθε λειτουργικό σύστημα που χρησιμοποιείτε έχει κάποιο τρόπο για να αναγνωρίζει τις κατατμήσεις. Για παράδειγμα το DOS και τα παράγωγα του, όπως τα &windows;, αναθέτουν γράμματα οδηγών σε κάθε πρωτεύουσα και λογική κατάτμηση, ξεκινώντας από το γράμμα C:. Το &os; πρέπει να εγκατασταθεί σε πρωτεύουσα κατάτμηση. Το &os; μπορεί να κρατήσει όλα τα δεδομένα του, συμπεριλαμβανομένων και των αρχείων που θα δημιουργήσετε εσείς, σε αυτή τη μοναδική κατάτμηση. Παρόλα αυτά, αν έχετε περισσότερους από ένα δίσκους, μπορείτε να δημιουργήσετε κατατμήσεις &os; σε όλους ή μερικούς από αυτούς. Όταν εγκαθιστάτε το &os; πρέπει να έχετε μια κατάτμηση διαθέσιμη. Μπορεί να είναι μια κενή κατάτμηση που έχετε προετοιμάσει από πριν, ή μια υπάρχουσα που περιέχει δεδομένα που δεν σας ενδιαφέρουν πλέον. Αν χρησιμοποιείτε ήδη όλες τις κατατμήσεις σε όλους τους δίσκους σας, τότε πρέπει να ελευθερώσετε μία για το &os; χρησιμοποιώντας τα εργαλεία που παρέχονται από τα άλλα λειτουργικά συστήματα που χρησιμοποιείτε (για παράδειγμα, την fdisk στο DOS ή &windows;). Αν έχετε μια διαθέσιμη κατάτμηση, μπορείτε να την χρησιμοποιήσετε. Ίσως όμως χρειαστεί να συρρικνώσετε πρώτα μία ή περισσότερες από τις υπάρχουσες κατατμήσεις σας. Μια ελάχιστη εγκατάσταση του &os; μπορεί να καταλάβει μόλις 100 MB χώρου στο δίσκο. Ωστόσο αυτή είναι μια πολύ ελάχιστη εγκατάσταση η οποία δεν θα αφήσει καθόλου σχεδόν χώρο για δικά σας αρχεία. Ένα πιο ρεαλιστικό ελάχιστο είναι τα 250 MB για χρήση χωρίς γραφικό περιβάλλον και 350 MB ή περισσότερα αν θέλετε γραφικό περιβάλλον εργασίας. Αν έχετε σκοπό να εγκαταστήσετε αρκετά προγράμματα τρίτων κατασκευαστών, θα χρειαστείτε ακόμα περισσότερο χώρο. Μπορείτε να χρησιμοποιήσετε κάποιο εμπορικά διαθέσιμο εργαλείο όπως το &partitionmagic;, ή κάποιο ελεύθερο εργαλείο όπως το GParted, για να αλλάξετε μεγέθη στις κατατμήσεις σας και να δημιουργήσετε χώρο - για το &os;. Ο κατάλογος tools στο CDROM - περιέχει δύο τέτοια ελεύθερα εργαλεία, τα οποία μπορούν να - εκτελέσουν αυτή τη λειτουργία, το FIPS - και το PResizer. Η τεκμηρίωση για τις - δύο αυτές εφαρμογές βρίσκεται επίσης στον ίδιο κατάλογο. Το - FIPS, το - PResizer και το - &partitionmagic; μπορούν να αλλάξουν το - μέγεθος σε κατατμήσεις FAT16 και - FAT32 που χρησιμοποιούνται στο &ms-dos; ως και - τα &windows; ME. Τόσο το - &partitionmagic; + για το &os;. Τόσο το &partitionmagic; όσο και το GParted μπορούν να χρησιμοποιηθούν σε κατατμήσεις NTFS. Το GParted είναι διαθέσιμο σε αρκετές διανομές Linux Live CD, όπως για παράδειγμα το SystemRescueCD. Έχουν αναφερθεί προβλήματα κατά την αλλαγή μεγέθους κατατμήσεων των µsoft; Vista. Συνίσταται να έχετε πρόχειρο ένα CDROM εγκατάστασης των Vista πριν επιχειρήσετε αυτή τη διαδικασία. Όπως και με όλες τις αντίστοιχες διαδικασίες δίσκων, συνίσταται επίσης να έχετε ένα ενημερωμένο σετ αντιγράφων ασφαλείας. - Λανθασμένη χρήση των εργαλείων αυτών μπορεί να οδηγήσει σε διαγραφή των δεδομένων του δίσκου σας. Πριν τα χρησιμοποιήσετε, βεβαιωθείτε ότι έχετε πρόσφατα αντίγραφα ασφαλείας τα οποία δουλεύουν. Χρησιμοποιώντας μια Υπάρχουσα Κατάτμηση χωρίς να την Αλλάξετε Υποθέστε ότι έχετε ένα υπολογιστή με ένα μόνο σκληρό δίσκο 4 GB στον οποίο έχετε ήδη εγκατεστημένη μια έκδοση των &windows; και τον έχετε χωρίσει σε δύο οδηγούς με γράμματα C: και D:, καθένα με μέγεθος 2 GB. Έχετε 1 GB δεδομένων στο C: και 0.5 GB δεδομένων στο D:. Αυτό σημαίνει ότι ο δίσκος σας έχει δύο κατατμήσεις, μία ανά γράμμα οδηγού. Μπορείτε να αντιγράψετε όλα τα υπάρχοντα δεδομένα σας από τον D: στο C: και να ελευθερώσετε έτσι την δεύτερη κατάτμηση, ώστε να είναι έτοιμη για το &os;. Συρρικνώνοντας μια Υπάρχουσα Κατάτμηση Υποθέστε ότι έχετε ένα υπολογιστή με ένα μόνο δίσκο 4  GB στον οποίο έχετε ήδη εγκαταστήσει μια έκδοση των &windows;. Όταν εγκαταστήσατε τα &windows;, δημιουργήσατε μια μεγάλη κατάτμηση με το γράμμα C: και μέγεθος 4 GB. Αυτή τη στιγμή χρησιμοποιείται 1.5 GB χώρου και θέλετε να δώσετε στο &os; 2 GB χώρο. Για να εγκαταστήσετε το &os; θα πρέπει είτε: Να πάρετε αντίγραφο ασφαλείας των δεδομένων σας των &windows; και έπειτα να τα εγκαταστήσετε ξανά, δημιουργώντας αυτή τη φορά μια κατάτμηση μεγέθους 2 GB κατά την εγκατάσταση. Να χρησιμοποιήσετε κάποιο από τα εργαλεία όπως το &partitionmagic; που περιγράψαμε παραπάνω ώστε να συρρικνώσετε την κατάτμηση των &windows;. - - - Κατάτμηση Δίσκου για την Αρχιτεκτονική - &os;/&arch.alpha; - - Alpha - - Θα χρειαστείτε ένα σκληρό δίσκο αποκλειστικά για χρήση από το - &os; στον Alpha. Δεν είναι δυνατόν αυτή τη στιγμή να - χρησιμοποιήσετε τον ίδιο δίσκο με κάποιο άλλο λειτουργικό σύστημα. - Ανάλογα με το μηχάνημα Alpha που έχετε, ο δίσκος αυτός μπορεί να - είναι είτε SCSI είτε IDE, εφόσον το μηχάνημα σας μπορεί να - εκκινήσει από αυτόν. - - Σύμφωνα με τις συμβάσεις που ακολουθούνται στα εγχειρίδια της - Digital / Compaq, όλες οι εντολές SRM δείχνονται με κεφαλαία - γράμματα. Ωστόσο το SRM δεν κάνει διάκριση - μικρών / κεφαλαίων. - - Για να βρείτε τα ονόματα και τους τύπους των δίσκων του - μηχανήματος σας χρησιμοποιήστε την εντολή - SHOW DEVICE στην προτροπή εντολών του SRM: - - >>>SHOW DEVICE -dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 -dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 -dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 -dva0.0.0.0.1 DVA0 -ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 -pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 -pqa0.0.0.4.0 PQA0 PCI EIDE -pqb0.0.1.4.0 PQB0 PCI EIDE - - Το παράδειγμα είναι από ένα Digital Personal Workstation 433au - και δείχνει τρεις συσκευές συνδεδεμένες στο μηχάνημα. Η πρώτη είναι - ένα CDROM με όνομα DKA0 και οι άλλες δύο - είναι δίσκοι με ονόματα DKC0 και - DKC100 αντίστοιχα. - - Δίσκοι με ονόματα της μορφής DKx είναι - τύπου SCSI. Για παράδειγμα, ο DKA100 - αναφέρεται σε ένα δίσκο SCSI με SCSI target ID 1 στον πρώτο (Α) - δίαυλο SCSI, ενώ ο DKC300 αναφέρεται σε ένα - δίσκο SCSI με SCSI ID 3 στον τρίτο (C) δίαυλο SCSI. Η συσκευή - PKx αναφέρεται στον ελεγκτή (κάρτα) SCSI. - Όπως φαίνεται από τα αποτελέσματα της εντολής - SHOW DEVICE, οι οδηγοί CDROM αντιμετωπίζονται - όπως και οποιαδήποτε άλλη SCSI συσκευή σκληρού δίσκου. - - Οι σκληροί δίσκοι τύπου IDE έχουν ονόματα του τύπου - DQx, ενώ οι αντίστοιχοι IDE ελεγκτές του - τύπου PQx. - Συλλέξτε Πληροφορίες για τη Ρύθμιση του Δικτύου σας Αν σκοπεύετε να συνδεθείτε σε ένα δίκτυο κατά τη διάρκεια της εγκατάστασης του &os; (για παράδειγμα αν πρόκειται να κάνετε εγκατάσταση μέσω κάποιας τοποθεσίας FTP ή μέσω διακομιστή NFS), τότε πρέπει να γνωρίζετε τις ρυθμίσεις του δικτύου σας. Κατά τη διάρκεια της εγκατάστασης, θα ερωτηθείτε για αυτές τις ρυθμίσεις ώστε το &os; να μπορέσει να συνδεθεί στο δίκτυο και να ολοκληρώσει την εγκατάσταση. Σύνδεση με Δίκτυο Ethernet ή Modem Cable/DSL Αν συνδέεστε σε δίκτυο Ethernet ή αν έχετε σύνδεση Internet με χρήση ελεγκτή Ethernet μέσω καλωδιακής ή DSL σύνδεσης, θα χρειαστείτε τις ακόλουθες πληροφορίες: Διεύθυνση IP (IP Address) Διεύθυνση IP της προεπιλεγμένης πύλης (default gateway) Όνομα υπολογιστή (hostname) Διευθύνσεις IP του διακομιστή DNS (DNS server IP addresses) Μάσκα Υποδικτύου (Subnet Mask) Αν δεν γνωρίζετε αυτές τις πληροφορίες, ρωτήστε το διαχειριστή συστήματος ή τον παροχέα υπηρεσιών Internet που σας εξυπηρετεί. Η απάντηση μπορεί να είναι ότι οι πληροφορίες αυτές εκχωρούνται αυτόματα με χρήση DHCP. Σημειώστε την πληροφορία αυτή. Σύνδεση μέσω Modem Αν χρησιμοποιείτε επιλογική (dial up) σύνδεση με κάποιο παροχέα Internet (ISP) με χρήση απλού modem, μπορείτε και πάλι να εγκαταστήσετε το &os; μέσω Internet, αλλά θα χρειαστείτε πάρα πολύ χρόνο. Θα χρειαστεί να ξέρετε: Τον αριθμό κλήσης του ISP σας Τη σειριακή θύρα (COM:) στην οποία είναι συνδεμένο το modem σας Το όνομα χρήστη (username) και κωδικό (password) για το λογαριασμό σας στον ISP Ελέγξτε για Παροράματα (Errata) στο &os; Αν και το &os; project πασχίζει για να εξασφαλίσει ότι κάθε έκδοση του &os; θα είναι όσο πιο σταθερή γίνεται, ορισμένες φορές στη διαδικασία αυτή εισέρχονται λάθη. Σε πολύ σπάνιες περιπτώσεις, τα λάθη αυτά επηρεάζουν τη διαδικασία εγκατάστασης. Καθώς τα προβλήματα αυτά γίνονται αντιληπτά και επιδιορθώνονται, σημειώνονται στα Παροράματα &os; (&os; Errata) τα οποία βρίσκονται στην δικτυακή τοποθεσία του &os;. Πριν ξεκινήσετε την εγκατάσταση, Θα πρέπει να ελέγξετε τα Παροράματα για να βεβαιωθείτε ότι δεν υπάρχουν προβλήματα της τελευταίας στιγμής τα οποία θα έπρεπε να γνωρίζετε. Πληροφορίες για όλες τις εκδόσεις, περιλαμβανομένων και των παροραμάτων για κάθε μία, μπορούν να βρεθούν στη σελίδα πληροφοριών έκδοσης της δικτυακής τοποθεσίας του &os;. Ανακτήστε τα Αρχεία Εγκατάστασης του &os; Η διαδικασία εγκατάστασης του &os; μπορεί να εγκαταστήσει το λειτουργικό σύστημα χρησιμοποιώντας αρχεία από τις παρακάτω τοποθεσίες: Τοπικά Μέσα CDROM ή DVD Μνήμη flash με σύνδεση USB Μια κατάτμηση DOS που βρίσκεται στον ίδιο υπολογιστή Μια ταινία SCSI ή QIC Δισκέτες Δίκτυο Μια τοποθεσία FTP, μέσω firewall ή με χρήση διακομιστή μεσολάβησης (HTTP proxy) αν είναι αναγκαίο. Ένα εξυπηρετητή NFS Μια αποκλειστική παράλληλη ή σειριακή σύνδεση Αν έχετε αγοράσει το &os; σε CD ή DVD, τότε έχετε ήδη ότι χρειάζεστε και μπορείτε να πάτε στο επόμενο τμήμα - (). + (). Αν δεν έχετε ακόμα ανακτήσει τα αρχεία εγκατάστασης του &os; θα πρέπει να δείτε το το οποίο εξηγεί πως να προετοιμαστείτε για την εγκατάσταση του &os; με οποιοδήποτε από τους παραπάνω τρόπους. Αφού διαβάσετε το τμήμα αυτό, θα πρέπει να γυρίσετε ξανά εδώ και να διαβάσετε από το - . + . - + Ετοιμάστε τα Μέσα Εκκίνησης Η διαδικασία εκκίνησης του &os; ξεκινάει με την εκκίνηση του υπολογιστή σας στο πρόγραμμα εγκατάστασης του &os;—δεν πρόκειται για πρόγραμμα το οποίο μπορείτε να εκτελέσετε μέσα από κάποιο άλλο λειτουργικό σύστημα. Ο υπολογιστής σας φυσιολογικά εκκινεί χρησιμοποιώντας το λειτουργικό σύστημα που είναι εγκατεστημένο στο σκληρό δίσκο σας, αλλά μπορεί επίσης να ρυθμιστεί να χρησιμοποιεί μια δισκέτα εκκίνησης. Οι περισσότεροι σύγχρονοι υπολογιστές μπορούν επίσης να εκκινήσουν από ένα CDROM στον αντίστοιχο οδηγό ανάγνωσης, ή από μια μνήμη flash με σύνδεση USB. Αν έχετε το &os; σε CDROM ή DVD (είτε που αγοράσατε, είτε που ετοιμάσατε ο ίδιος), και ο υπολογιστής σας επιτρέπει εκκίνηση από CDROM ή DVD (τυπικά μέσω της επιλογής Boot Order ή αντίστοιχης του BIOS), μπορείτε να παραλείψετε αυτό το τμήμα. Τα CD ή DVD του &os; είναι εκκινήσιμα και μπορούν να χρησιμοποιηθούν για την εγκατάσταση του &os; χωρίς καμιά άλλη ιδιαίτερη προετοιμασία. Για να δημιουργήσετε μια εκκινήσιμη μνήμη flash USB, ακολουθήστε τα παρακάτω βήματα: Ανακτήστε την Εικόνα Εγκατάστασης για Μνήμη Flash USB Μπορείτε να κατεβάσετε το αρχείο εικόνας από τον κατάλογο ISO-IMAGES/ στην τοποθεσία ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/&os;-&rel.current;-RELEASE-arch-memstick.img. Αντικαταστήστε το arch και το version με την αρχιτεκτονική και την έκδοση που επιθυμείτε να εγκαταστήσετε. Για παράδειγμα, τα αρχεία για το &os;/&arch.i386; &rel.current;-RELEASE είναι διαθέσιμα στην τοποθεσία . Το αρχείο που προορίζεται για χρήση με μνήμη USB, έχει κατάληξη .img. Ο κατάλογος ISO-IMAGES/ περιέχει πλήθος διαφορετικών αρχείων και αυτό που θα χρειαστείτε εξαρτάται στην πραγματικότητα από την έκδοση του &os; που θα εγκαταστήσετε και ενδεχομένως και από το υλικό του υπολογιστή σας. Πριν προχωρήσετε, κρατήστε αντίγραφο των δεδομένων που ενδεχομένως υπάρχουν στη USB flash μνήμη σας. Η διαδικασία που περιγράφουμε θα διαγράψει όλα τα περιεχόμενα της. Προετοιμάστε τη Μνήμη USB Το παρακάτω παράδειγμα χρησιμοποιεί ως υπόδειγμα την συσκευή /dev/da0 για τη δημιουργία της USB μνήμης εκκίνησης. Επιλέξτε με προσοχή το πραγματικό όνομα της συσκευής που θα χρησιμοποιηθεί, διαφορετικά μπορεί να προκληθεί απώλεια δεδομένων. Θέστε το sysctl kern.geom.debugflags ώστε να μπορείτε να γράψετε στο MBR της συσκεύης εξόδου. &prompt.root; sysctl kern.geom.debugflags=16 Γράψτε το Αρχείο Εικόνας στη Μνήμη Flash Το αρχείο .img δεν είναι ένα κανονικό αρχείο που μπορείτε απλώς να αντιγράψετε στη μνήμη flash. Πρόκειται στην πραγματικότητα για μια εικόνα των περιεχομένων ολόκληρου του δίσκου. Αυτό σημαίνει ότι δεν μπορείτε απλώς να αντιγράψετε τα δεδομένα από τον ένα δίσκο στον άλλο. Θα πρέπει να χρησιμοποιήσετε την εντολή &man.dd.1; για να γράψετε το αρχείο εικόνας απευθείας στο δίσκο: - &prompt.root; dd if=&rel.current;-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k + &prompt.root; dd if=&os;-&rel.current;-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k Για να δημιουργήσετε δισκέτες εκκίνησης, ακολουθήστε αυτά τα βήματα: Ανακτήστε τα Images (Αρχεία Εικόνων) των Δισκετών Ξεκινώντας με την έκδοση 8.0 του &os;, δεν υπάρχει πλέον υποστήριξη για δισκέτες εκκίνησης. Δείτε τις παραπάνω οδηγίες για να κάνετε εγκατάσταση μέσω μνήμης USB flash, ή χρησιμοποιήστε απλώς ένα CDROM ή DVD. Οι δισκέτες εκκίνησης είναι διαθέσιμες στο μέσο εγκατάστασης που έχετε, στον κατάλογο floppies/ και μπορείτε επίσης να τις κατεβάσετε από τον αντίστοιχο κατάλογο ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/version-RELEASE/floppies/. Αντικαταστήστε τα arch και version με την αρχιτεκτονική και τον αριθμό της έκδοσης που θέλετε να εγκαταστήσετε αντίστοιχα. Για παράδειγμα τα images των δισκετών εκκίνησης για &os;/&arch.i386; &rel2.current;-RELEASE είναι διαθέσιμα από την τοποθεσία . Τα images έχουν κατάληξη .flp. O κατάλογος floppies/ περιέχει αρκετά διαφορετικά images, και το ποια θα χρειαστείτε εξαρτάται από την έκδοση του &os; που θα εγκαταστήσετε, και σε ορισμένες περιπτώσεις, και από το υλικό (hardware) στο οποίο κάνετε εγκατάσταση. Στις περισσότερες περιπτώσεις θα χρειαστείτε τέσσερις δισκέτες, τις boot.flp, kern1.flp, kern2.flp και kern3.flp. Ελέγξτε το αρχείο README.TXT που βρίσκεται στον ίδιο κατάλογο για τις τελευταίες πληροφορίες σχετικά με τα αρχεία αυτά. Το FTP πρόγραμμα που θα χρησιμοποιήσετε πρέπει να χρησιμοποιεί δυαδικό τρόπο μεταφοράς (binary mode) για να κατεβάσετε τα images των δισκετών. Ορισμένοι φυλλομετρητές είναι γνωστό ότι χρησιμοποιούν ASCII τρόπο (κειμένου), το οποίο θα το καταλάβετε αν δεν μπορείτε να κάνετε εκκίνηση από τις δισκέτες. Προετοιμάστε τις Δισκέτες Από κάθε αρχείο image που κατεβάσατε, πρέπει να δημιουργήσετε μια δισκέτα. Είναι επιβεβλημένο, οι δισκέτες αυτές να μην έχουν ελαττώματα. Ο ευκολότερος τρόπος για να το ελέγξετε είναι να τις διαμορφώσετε εσείς. Μην εμπιστεύεστε προ-διαμορφωμένες δισκέτες. Το πρόγραμμα διαμόρφωσης των &windows; δεν θα σας ειδοποιήσει για την παρουσία χαλασμένων τομέων, απλώς θα τους μαρκάρει ως χαλασμένους και θα τους αγνοήσει. Σας συμβουλεύουμε να χρησιμοποιήσετε καινούριες δισκέτες αν επιλέξετε αυτή τη μέθοδο εγκατάστασης. Αν προσπαθήσετε να εγκαταστήσετε το &os; και το πρόγραμμα εγκατάστασης κολλήσει, παγώσει ή με κάποιο τρόπο συμπεριφέρεται περίεργα, ο πρώτος σας ύποπτος πρέπει να είναι οι δισκέτες. Δοκιμάστε να γράψετε τα images σε νέες δισκέτες και προσπαθήστε ξανά. Γράψτε τα Αρχεία Image σε Δισκέτες Τα αρχεία .flp δεν είναι κανονικά αρχεία που μπορείτε να αντιγράψετε σε δισκέτα. Είναι images που έχουν όλο το περιεχόμενο της δισκέτας σε ένα αρχείο. Αυτό σημαίνει ότι δεν μπορείτε απλώς να αντιγράψετε τα αρχεία αυτά σε δισκέτες. Αντίθετα, πρέπει να χρησιμοποιήσετε ειδικά εργαλεία για να γράψετε τα images αυτά απευθείας στις δισκέτες. DOS Αν πρόκειται να δημιουργήσετε τις δισκέτες σε ένα υπολογιστή που εκτελεί &ms-dos;/&windows;, σας παρέχουμε ένα εργαλείο για αυτή την εργασία, το fdimage. Αν χρησιμοποιείτε τα images των δισκετών από το CDROM και ο οδηγός σας CDROM είναι στο γράμμα E:, θα εκτελέσετε την εξής εντολή: E:\> tools\fdimage floppies\boot.flp A: Επαναλάβετε την εντολή αυτή για κάθε αρχείο .flp, αντικαθιστώντας κάθε φορά τη δισκέτα. Βεβαιωθείτε ότι σημειώνετε στην ετικέτα κάθε δισκέτας το όνομα του αρχείου που αντιγράψατε. Ρυθμίστε κατάλληλα την εντολή ανάλογα με την τοποθεσία των image αρχείων .flp. Αν δεν έχετε το CDROM, μπορείτε να κατεβάσετε το fdimage από την τοποθεσία FTP tools directoryτου &os;. Αν γράφετε τις δισκέτες σε ένα σύστημα &unix; (όπως κάποιο σύστημα &os;) μπορείτε να χρησιμοποιήσετε την εντολή &man.dd.1; για να γράψετε τα image αρχεία απευθείας στις δισκέτες. Στο &os; θα γράφατε: &prompt.root; dd if=boot.flp of=/dev/fd0 Στο &os; η συσκευή, /dev/fd0 αναφέρεται στην πρώτη μονάδα δισκέτας (τον οδηγό A:). Η συσκευή /dev/fd1 θα ήταν ο οδηγός B:, κ.ο.κ. Άλλες παραλλαγές του &unix; μπορεί να χρησιμοποιούν διαφορετικά ονόματα για τους οδηγούς δισκέτας και θα χρειαστεί να ελέγξετε την τεκμηρίωση του συστήματος σας κατά περίπτωση. Είστε τώρα έτοιμοι να ξεκινήσετε την εγκατάσταση του &os;.
Ξεκινώντας την Εγκατάσταση Το πρόγραμμα εγκατάστασης δεν θα κάνει καμιά αλλαγή στους δίσκους σας μέχρι να δείτε το ακόλουθο μήνυμα: Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! Η εγκατάσταση μπορεί να ακυρωθεί οποιαδήποτε στιγμή μέχρι να δείτε την τελική προειδοποίηση χωρίς να γίνει καμιά αλλαγή στα περιεχόμενα του σκληρού δίσκου. Αν ανησυχείτε ότι έχετε κάνει κάποια λάθος ρύθμιση μπορείτε απλώς να σβήσετε τον υπολογιστή πριν από το σημείο αυτό, και δεν θα δημιουργηθεί κανένα πρόβλημα. Εκκίνηση Εκκίνηση στην Αρχιτεκτονική &i386; Ξεκινήστε με τον υπολογιστή σας απενεργοποιημένο. Εκκινήστε τον υπολογιστή σας. Καθώς ξεκινάει θα πρέπει να δείχνει κάποια επιλογή για να εισέλθετε στο πρόγραμμα ρυθμίσεων του BIOS (BIOS setup), συνήθως με την πίεση κάποιου πλήκτρου όπως το F2, το F10, το Del ή το συνδυασμό Alt S . Χρησιμοποιήστε το συνδυασμό που φαίνεται στην οθόνη. Σε κάποιες περιπτώσεις, κατά την εκκίνηση μπορεί στην οθόνη σας να φαίνεται κάποιο γραφικό λογότυπο. Τυπικά, πιέζοντας το Esc το γραφικό αυτό εξαφανίζεται και μπορείτε πλέον να δείτε τα απαραίτητα μηνύματα. Βρείτε τη ρύθμιση που ελέγχει από ποιες συσκευές εκκινεί το σύστημα. Συνήθως αναφέρεται ως Boot Order και εμφανίζεται ως λίστα συσκευών, όπως για παράδειγμα Floppy, CDROM, First Hard Disk, κ.ο.κ. - Αν πρόκειται να χρησιμοποιήσετε δισκέτες εκκίνησης, - βεβαιωθείτε ότι επιλέξατε την μονάδα δισκέτας. Αν θα εκκινήσετε - από το CDROM, βεβαιωθείτε ότι έχετε κάνει την αντίστοιχη - επιλογή. Αν δεν είστε σίγουροι, συμβουλευτείτε το εγχειρίδιο - του υπολογιστή ή / και της μητρικής πλακέτας. + Αν πρόκειται να εκκινήσετε από το CDROM, βεβαιωθείτε ότι + έχετε κάνει την αντίστοιχη επιλογή. Αν πρόκειται να εκκινήσετε + από USB μνήμη flash ή από δισκέτα, βεβαιωθείτε ότι έχετε επίσης + κάνει τη σωστή επιλογή. Αν δεν είστε σίγουροι, συμβουλευτείτε + το εγχειρίδιο του υπολογιστή ή / και της μητρικής + πλακέτας. Κάντε την αλλαγή, αποθηκεύστε και βγείτε από το πρόγραμμα ρυθμίσεων. Ο υπολογιστής σας θα επανεκκινήσει. - Αν χρειάστηκε να προετοιμάσετε δισκέτες, όπως περιγράφεται - στο , μία από αυτές θα είναι η - πρώτη δισκέτα εκκίνησης, πιθανώς αυτή που περιέχει το - boot.flp. Τοποθετήστε την στον οδηγό - δισκέτας. + Αν προετοιμάσατε μνήμη flash USB, όπως περιγράφεται + στο , μην παραλείψετε να + συνδέσετε τη μνήμη στην αντίστοιχη υποδοχή, πριν ενεργοποιήσετε + τον υπολογιστή σας. Αν θα εκκινήσετε από το CDROM, θα χρειαστεί να ενεργοποιήσετε τον υπολογιστή και να εισάγετε το CDROM στον οδηγό με την πρώτη δυνατή ευκαιρία. + + Για το &os; 7.3 και παλαιότερες εκδόσεις, μπορείτε + επίσης να δημιουργήσετε δισκέτες εκκίνησης όπως περιγράφεται + στο . Μια από αυτές θα + είναι η πρώτη δισκέτα εκκίνησης: + boot.flp. Τοποθετήστε αυτή τη δισκέτα + στον οδηγό και εκκινήστε τον υπολογιστή σας. + + Αν ο υπολογιστής σας ξεκινήσει κανονικά και φορτώσει το υπάρχον λειτουργικό σας σύστημα, τότε είτε: Δεν βάλατε τη δισκέτα ή το CD αρκετά νωρίς κατά τη διαδικασία εκκίνησης. Αφήστε την στον οδηγό και δοκιμάστε να επανεκκινήσετε τον υπολογιστή σας. Οι προηγούμενες αλλαγές που κάνετε στις ρυθμίσεις του BIOS δεν λειτούργησαν. Θα πρέπει να επαναλάβετε το βήμα αυτό μέχρι να πετύχετε τη σωστή επιλογή. Το συγκεκριμένο BIOS που διαθέτετε δεν υποστηρίζει εκκίνηση από το επιλεγμένο μέσο. Θα αρχίσει η εκκίνηση του &os;. Αν ξεκινάτε από το CDROM θα δείτε μια εικόνα όπως την επόμενη (έχουν παραλειφθεί οι πληροφορίες έκδοσης): Booting from CD-Rom... CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader -BTX loader 1.00 BTX version is 1.01 -Console: internal video/keyboard +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 639kB/261120kB available memory +BIOS 639kB/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+00 x88e9d] \ Αν κάνετε εκκίνηση από μονάδα δισκέτας, θα δείτε μια οθόνη όμοια με την παρακάτω (έχουν παραλειφθεί οι πληροφορίες έκδοσης): Booting from Floppy... Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key... Ακολουθήστε τις οδηγίες, αφαιρώντας την δισκέτα boot.flp, εισάγοντας την δισκέτα kern1.flp και πιέζοντας Enter. Ξεκινήστε από την πρώτη δισκέτα, και όταν σας ζητηθεί, βάλτε τις άλλες δισκέτες όπως απαιτείται. - Είτε ξεκινήσατε από δισκέτα, είτε από CDROM, η διαδικασία - εκκίνησης θα φτάσει στο μενού του &os; boot loader: + Είτε ξεκινήσατε από δισκέτα, είτε από CDROM, είτε από μνήμη + flash, η διαδικασία εκκίνησης θα φτάσει στο μενού του &os; + boot loader:
Μενού Εκκίνησης (&os; Boot Loader)
Περιμένετε δέκα δευτερόλεπτα, ή απλώς πιέστε Enter
- - Εκκίνηση στην Αρχιτεκτονική Alpha - - Alpha - - - - Ξεκινήστε με τον υπολογιστή σας απενεργοποιημένο. - - - - Ξεκινήστε τον υπολογιστή σας και περιμένετε για την - προτροπή του boot monitor. - - - - Αν χρειάστηκε να προετοιμάσετε δισκέτες εκκίνησης, όπως - περιγράφεται στο - μία από αυτές θα είναι εκκίνησης, πιθανώς αυτή που περιέχει - το boot.flp. Τοποθετήστε τη δισκέτα αυτή - στον οδηγό και γράψτε την ακόλουθη εντολή για να ξεκινήσετε από - τη δισκέτα (αντικαθιστώντας το όνομα της μονάδας δισκέτας αν - χρειάζεται): - - >>>BOOT DVA0 -FLAGS '' -FILE '' - - Αν ξεκινάτε από CDROM, τοποθετήστε το CDROM στον οδηγό και - γράψτε την ακόλουθη εντολή για να ξεκινήσετε την εγκατάσταση - (αντικαθιστώντας το όνομα του οδηγού CDROM αν - χρειάζεται): - - >>>BOOT DKA0 -FLAGS '' -FILE '' - - - - Θα αρχίσει η εκκίνηση του &os;. Αν ξεκινάτε από την - δισκέτα, σε κάποιο σημείο θα δείτε το ακόλουθο μήνυμα: - - Insert disk labelled "Kernel floppy 1" and press any key... - - Ακολουθήστε τις οδηγίες αυτές, βγάζοντας τη δισκέτα - boot.flp, βάζοντας τη δισκέτα - kern1.flp και πιέζοντας - Enter. - - - - Είτε ξεκινήσατε από δισκέτα, είτε από CDROM, η διαδικασία - εκκίνησης θα φτάσει στο ακόλουθο σημείο: - - Hit [Enter] to boot immediately, or any other key for command prompt. -Booting [kernel] in 9 seconds... _ - - Περιμένετε δέκα δευτερόλεπτα, ή απλώς πιέστε - Enter. Έτσι θα ξεκινήσετε το μενού ρύθμισης - πυρήνα. - - - - Εκκίνηση στον &sparc64; Τα περισσότερα συστήματα &sparc64; είναι ρυθμισμένα να ξεκινάνε αυτόματα από το σκληρό δίσκο. Για να εγκαταστήσετε το &os;, θα πρέπει να ξεκινήσετε είτε από το δίκτυο, είτε από το CDROM, κάτι το οποίο απαιτεί να εισέλθετε στην PROM (OpenFirmware). Για το σκοπό αυτό, επανεκκινήστε το σύστημα και περιμένετε μέχρι να εμφανιστεί το μήνυμα εκκίνησης (boot). Αυτό εξαρτάται από το μοντέλο, αλλά γενικά μοιάζει με: Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. Αν το σύστημα σας συνεχίζει με εκκίνηση από το σκληρό δίσκο, πρέπει να πιέσετε: L1A ή StopA στο πληκτρολόγιο, ή να στείλετε BREAK μέσω της σειριακής κονσόλας (χρησιμοποιώντας για παράδειγμα ~# στο &man.tip.1; ή στο &man.cu.1;) για να φτάσετε στην προτροπή της PROM. Φαίνεται όπως παρακάτω: ok ok {0} Αυτή είναι η προτροπή που χρησιμοποιείται σε συστήματα με μία CPU. Αυτή είναι η προτροπή που χρησιμοποιείται σε συστήματα SMP, το ψηφίο δείχνει τον αριθμό της ενεργής CPU. Στο σημείο αυτό, τοποθετήστε το CDROM στον οδηγό, και από την προτροπή της PROM, γράψτε boot cdrom.
Επισκόπηση των Αποτελεσμάτων Ανίχνευσης Συσκευών Οι τελευταίες εκατοντάδες γραμμές που πέρασαν από την οθόνη σας, αποθηκεύονται, και μπορείτε να τις ξαναδείτε. Για να δείτε τα περιεχόμενα της προσωρινής μνήμης (buffer) πιέστε το πλήκτρο Scroll Lock. Με τον τρόπο αυτό ενεργοποιείται η κύλιση της οθόνης. Μπορείτε να χρησιμοποιήσετε τα πλήκτρα με τα βελάκια, ή τα PageUp και PageDown για να δείτε τα αποτελέσματα. Πιέστε ξανά το πλήκτρο Scroll Lock για να τερματίσετε την κύλιση. Κάντε το αυτό τώρα για να δείτε το κείμενο που κύλησε εκτός οθόνης την ώρα που ο πυρήνας ανίχνευε το υλικό του υπολογιστή σας. Θα δείτε ένα κείμενο αντίστοιχο με το , αν και το ακριβές κείμενο θα διαφέρει ανάλογα με τις συσκευές που έχετε στον υπολογιστή σας.
Τυπικά Αποτελέσματα Ανίχνευσης Συσκευών avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Ελέγξτε προσεκτικά τα αποτελέσματα της ανίχνευσης για να βεβαιωθείτε ότι το &os; ανίχνευσε όλες τις συσκευές που αναμένατε. Αν μια συσκευή δεν βρέθηκε, τότε δεν θα τη δείτε στη λίστα. Με τη βοήθεια εξειδικευμένου πυρήνα μπορείτε να προσθέσετε υποστήριξη για συσκευές οι οποίες δεν περιλαμβάνονται στον πυρήνα GENERIC, όπως τις κάρτες ήχου. Από το &os; 6.2 και μετά, στο τέλος της διαδικασίας ανίχνευσης συσκευών, θα δείτε το . Χρησιμοποιήστε τα βελάκια για να επιλέξετε περιοχή ή χώρα. Έπειτα - πιέστε Enter, για να ρυθμίσετε εύκολα τη χώρα και τη - διάταξη πληκτρολογίου. Είναι επίσης εύκολο να βγείτε από το - sysinstall και να ξεκινήσετε από την - αρχή. + πιέστε Enter, για να ρυθμίσετε τη χώρα. Είναι + επίσης εύκολο να βγείτε από το sysinstall + και να ξεκινήσετε από την αρχή.
Επιλέγοντας το Μενού Χώρας
+ Αν επιλέξατε ως χώρα United States, + θα χρησιμοποιηθεί η τυποποιημένη Αμερικανική διάταξη πληκτρολογίου. + Αν επιλέξατε διαφορετική χώρα, θα εμφανιστεί το παρακάτω μενού. + Χρησιμοποιήστε τα βελάκια για να επιλέξετε τη σωστή διάταξη + πληκτρολογίου και πιέστε Enter. + +
+ Επιλογή Μενού Πληκτρολογίου + + + + + + +
+
Επιλέξτε Έξοδο από το Sysinstall
Χρησιμοποιήστε τα βελάκια για να επιλέξετε Exit Install από το μενού Main Install. Θα δείτε το ακόλουθο μήνυμα: User Confirmation Requested Are you sure you wish to exit? The system will reboot [ Yes ] No Το πρόγραμμα εγκατάστασης θα ξεκινήσει ξανά, αν επιλέξετε &gui.yes; και αφήσετε το CDROM στον οδηγό κατά τη διάρκεια της επανεκκίνησης. Αν ξεκινάτε από δισκέτες θα χρειαστεί να βγάλετε την δισκέτα boot.flp πριν την επανεκκίνηση.
Εισαγωγή στο Sysinstall Το πρόγραμμα sysinstall είναι η εφαρμογή εγκατάστασης που παρέχεται από το &os; Project. Βασίζεται σε περιβάλλον κειμένου και χωρίζεται σε μια σειρά από μενού και οθόνες που μπορείτε να χρησιμοποιήσετε για να ρυθμίσετε και να ελέγξετε την διαδικασία εγκατάστασης. Το σύστημα μενού του sysinstall ελέγχεται με τα βελάκια, το Enter, το Space και άλλα πλήκτρα. Λεπτομερή περιγραφή των πλήκτρων αυτών και των λειτουργιών τους περιέχεται στις οδηγίες χρήσης του sysinstall. Για να δείτε τις πληροφορίες αυτές, βεβαιωθείτε ότι είναι φωτισμένη η επιλογή Usage και ότι είναι επιλεγμένο το πλήκτρο [Select] όπως φαίνεται στο , και πιέστε Enter. Θα δείτε τις οδηγίες χρήσης του συστήματος μενού. Κατόπιν πιέστε Enter για να επιστρέψετε στο κύριο μενού (Main Menu).
Επιλέγοντας Usage από το Main Menu του SysInstall
Επιλέγοντας το Μενού Documentation (Τεκμηρίωσης) Από το Main Menu, επιλέξτε Doc με τα βελάκια και πιέστε Enter.
Επιλέγοντας το Μενού Documentation
Αυτό θα δείξει το Μενού Documentation.
Το Μενού Documentation του Sysinstall
Είναι σημαντικό να διαβάσετε την παρεχόμενη τεκμηρίωση. Για να δείτε ένα έγγραφο, επιλέξτε το με τα βελάκια και πιέστε Enter. Όταν τελειώσετε την ανάγνωση ενός εγγράφου, πιέζοντας Enter θα επιστρέψετε στο μενού Documentation. Για να επιστρέψετε στο Κυρίως Μενού Εγκατάστασης, επιλέξτε Exit με τα βελάκια και πιέστε Enter.
Επιλέγοντας το Μενού Keymap (Διάταξη Πληκτρολογίου) Για να αλλάξετε τη διάταξη του πληκτρολογίου, χρησιμοποιήστε τα βελάκια για να επιλέξετε Keymap από το μενού και πιέστε Enter. Αυτό απαιτείται μόνο αν χρησιμοποιείτε διάταξη πληκτρολογίου που δεν είναι στάνταρ και επίσης για διατάξεις εκτός της Αγγλικής ΗΠΑ.
Κύριο Μενού Εγκατάστασης (Sysinstall Main Menu)
Μπορείτε να επιλέξετε διαφορετική διάταξη πληκτρολογίου κάνοντας την αντίστοιχη επιλογή από το μενού χρησιμοποιώντας τα βελάκια, και πιέζοντας Space. Πιέζοντας ξανά Space θα καταργήσετε την επιλογή. Όταν τελειώσετε, επιλέξτε &gui.ok; με τα βελάκια και πιέστε Enter. Στην παρακάτω απεικόνιση της οθόνης φαίνεται μόνο μέρος της λίστας. Αν επιλέξετε &gui.cancel; πιέζοντας το Tab θα χρησιμοποιήσετε την προεπιλεγμένη διάταξη πληκτρολογίου και θα επιστρέψετε στο Κύριο Μενού Εγκατάστασης.
Το Μενού Keymap του Sysinstall
Η Οθόνη Installation Options (Επιλογών Εγκατάστασης) Επιλέξτε Options και πιέστε Enter.
Το Κύριο Μενού του Sysinstall
Επιλογές του Sysinstall (Options)
Οι προεπιλεγμένες τιμές είναι συνήθως σωστές για τους περισσότερους χρήστες και δεν χρειάζεται να αλλαχθούν. Το όνομα της έκδοσης (Release Name) αλλάζει ανάλογα με την έκδοση που εγκαθίσταται. Στο κάτω μέρος της οθόνης, εμφανίζεται με τονισμένο μπλε χρώμα η περιγραφή του επιλεγμένου αντικειμένου. Παρατηρήστε ότι μια από τις επιλογές είναι η Use Defaults η οποία επαναφέρει όλες τις τιμές στις αρχικές προεπιλεγμένες τους ρυθμίσεις. Πιέστε το F1 για να διαβάσετε την οθόνη βοήθειας σχετικά με τις διάφορες επιλογές. Πιέζοντας το Q θα επιστρέψετε στο Κύριο Μενού Εγκατάστασης.
Ξεκινήστε μια Τυπική Εγκατάσταση (Standard Installation) Η Standard εγκατάσταση είναι η επιλογή που συνίσταται για τους νέους χρήστες του &unix; ή του &os;. Χρησιμοποιήστε τα βελάκια για να επιλέξετε Standard από το μενού, και πιέστε Enter για να ξεκινήσετε την εγκατάσταση.
Εκκίνηση της Τυπικής Εγκατάστασης (Standard Installation)
Εκχώρηση Χώρου στο Δίσκο Το πρώτο σας βήμα είναι να εκχωρήσετε χώρο δίσκου για το &os; και να δημιουργήσετε μια ετικέτα (label) στο χώρο αυτό ώστε να μπορέσει να τον προετοιμάσει το sysinstall. Για το σκοπό αυτό πρέπει να γνωρίζετε τον τρόπο με τον οποίο περιμένει το &os; να βρει τις πληροφορίες στο δίσκο. Αρίθμηση των Δίσκων με βάση το BIOS Πριν εγκαταστήσετε και ρυθμίσετε το &os; στο σύστημα σας, υπάρχει ένα σημαντικό θέμα το οποίο πρέπει να γνωρίζετε, ειδικά αν έχετε πολλούς σκληρούς δίσκους. DOS Microsoft Windows Σε ένα PC το οποίο χρησιμοποιεί λειτουργικό σύστημα το οποίο εξαρτάται από το BIOS, όπως είναι το &ms-dos; ή τα µsoft.windows;, το BIOS είναι σε θέση να συμπεράνει τη σειρά προτεραιότητας των δίσκων και το λειτουργικό σύστημα απλώς συμβαδίζει με αυτή. Αυτό επιτρέπει στο χρήστη να εκκινήσει από ένα δίσκο διαφορετικό από αυτόν που συχνά καλούμε primary master. Αυτό είναι ιδιαίτερα βολικό για κάποιους χρήστες που έχουν ανακαλύψει ότι ο ευκολότερος και φτηνότερος τρόπος να έχουν ένα αντίγραφο ασφαλείας του συστήματος τους, είναι να αγοράσουν ένα δεύτερο όμοιο σκληρό δίσκο, και να αντιγράφουν ανά τακτά διαστήματα τον πρώτο τους δίσκο στο δεύτερο χρησιμοποιώντας προγράμματα όπως το Ghost ή το XCOPY. Έτσι, αν ο πρώτος δίσκος χαλάσει, ή δεχθεί επίθεση από ιό, ή παρουσιάσει πρόβλημα εξαιτίας κάποιου ελαττώματος του λειτουργικού συστήματος, ο χρήστης μπορεί εύκολα να επαναφέρει το σύστημα ρυθμίζοντας το BIOS να αντιστρέψει τη λογική σειρά των δίσκων. Είναι σαν να αντιμεταθέτουμε τη σειρά των καλωδίων στους δίσκους αλλά χωρίς να χρειάζεται να ανοίξουμε το κουτί. SCSI BIOS Τα πιο ακριβά συστήματα με ελεγκτές SCSI, συχνά περιλαμβάνουν επεκτάσεις στο BIOS που επιτρέπουν την αλλαγή της αρίθμησης μέχρι επτά δίσκων SCSI, με παρόμοιο τρόπο. Ένας χρήστης εξοικειωμένος με την παραπάνω δυνατότητα, μπορεί να βρεθεί προ εκπλήξεως όταν τα αποτελέσματα με το &os; δεν είναι τα αναμενόμενα. Το &os; δεν χρησιμοποιεί το BIOS και δεν γνωρίζει την κατά το BIOS λογική διάταξη των οδηγών. Αυτό μπορεί να οδηγήσει σε ιδιαίτερα περίπλοκες καταστάσεις, ειδικά αν οι δίσκοι έχουν παρόμοια γεωμετρία και έχουν επίσης τα ίδια δεδομένα (είναι ο ένας κλώνος του άλλου). Όταν χρησιμοποιείτε το &os; επιστρέψτε την σειρά των οδηγών στο BIOS στην φυσιολογική τους πριν εγκαταστήσετε το &os; και αφήστε την έτσι. Αν πρέπει να εναλλάξετε τους δίσκους μεταξύ τους, κάντε το αλλά με το δύσκολο τρόπο: ανοίξτε το κουτί και αλλάξτε θέσεις στα jumpers (βραχυκυκλωτήρες) και στα καλώδια. Μια Ιστορία από τα Αρχεία των Εξαιρετικών Περιπετειών του Bill και Fred: O Bill διαλύει ένα παλιό μηχάνημα Wintel για να φτιάξει ένα ακόμα &os; μηχάνημα για το Fred. Ο Bill εγκαθιστά ένα σκληρό δίσκο SCSI ως συσκευή με αριθμό μηδέν και εγκαθιστά σε αυτή το &os;. Ο Fred ξεκινά να χρησιμοποιεί το σύστημα, αλλά μετά από αρκετές μέρες παρατηρεί ότι ο παλιός SCSI δίσκος αναφέρει αρκετά μη καταστροφικά λάθη (soft errors) και αναφέρει το γεγονός αυτό στον Bill. Μετά από μερικές ακόμα μέρες, ο Bill αποφασίζει ότι έχει έρθει η ώρα να αντιμετωπίσει το πρόβλημα, και έτσι πιάνει ένα αντίστοιχο SCSI δίσκο από το αρχείο στο πίσω δωμάτιο. Ένας αρχικός έλεγχος επιφάνειας δείχνει ότι ο δίσκος λειτουργεί κανονικά, και έτσι ο Bill εγκαθιστά το δίσκο αυτό ως SCSI μονάδα τέσσερα και αντιγράφει (μέσω image) πλήρως τα δεδομένα από το δίσκο μηδέν στο δίσκο τέσσερα. Τώρα που ο νέος δίσκος είναι εγκατεστημένος και λειτουργεί σωστά, ο Bill αποφασίζει ότι είναι καλή ιδέα να αρχίσει να τον χρησιμοποιεί, και έτσι βάζει σε εφαρμογή τη δυνατότητα του BIOS να αλλάζει την αρίθμηση των δίσκων ώστε το σύστημα να ξεκινάει από το δίσκο τέσσερα. Το &os; ξεκινάει και εκτελείται κανονικά. Ο Fred συνεχίζει τη δουλειά του για αρκετές ακόμα μέρες, και σύντομα ο Bill και o Fred αποφασίζουν ότι έχει έρθει η ώρα για μια ακόμα περιπέτεια — ώρα να αναβαθμίσουν στην νέα έκδοση του &os;. Ο Bill αφαιρεί το δίσκο μηδέν μια και ήταν ελαφρώς προβληματικός και τον αντικαθιστά με ένα άλλο όμοιο δίσκο από το αρχείο. Ο Bill κατόπιν εγκαθιστά τη νέα έκδοση του &os; στον νέο δίσκο μηδέν χρησιμοποιώντας τις μαγικές Internet FTP δισκέτες του Fred. Η εγκατάσταση γίνεται χωρίς προβλήματα. Ο Fred χρησιμοποιεί την νέα έκδοση του &os; για μερικές μέρες, και πιστοποιεί ότι είναι αρκετά καλή για χρήση στο τμήμα μηχανικής. Έχει έρθει η ώρα να αντιγράψει όλη τη δουλειά του από την παλιά έκδοση. Έτσι ο Fred προσαρτεί το δίσκο με αριθμό τέσσερα (το τελευταίο αντίγραφο της παλιάς έκδοσης του &os;). Ο Fred απογοητεύεται όταν ανακαλύπτει ότι δεν υπάρχει τίποτα από την πολύτιμη εργασία του στο δίσκο με αριθμό τέσσερα. Που πήγαν τα δεδομένα; Όταν ο Bill έκανε φωτογραφική αντιγραφή του αρχικού SCSI δίσκου μηδέν στο SCSI δίσκο τέσσερα, ο δίσκος τέσσερα έγινε ο νέος κλώνος. Όταν ο Bill άλλαξε την αρίθμηση στο SCSI BIOS ώστε να μπορέσει να ξεκινήσει από τη μονάδα SCSI τέσσερα, απλώς κορόιδευε τον εαυτό του. To &os; χρησιμοποιούσε ακόμα τη μονάδα SCSI μηδέν. Ίσως αυτή η αλλαγή στο BIOS να προκαλέσει την μερική ή ολική φόρτωση του κώδικα Boot ή και του Loader από τον επιλεγμένο από το BIOS δίσκο, αλλά όταν αναλάβουν τα προγράμματα οδήγησης του πυρήνα του &os; η αρίθμηση του BIOS θα αγνοηθεί, και το &os; θα επανέλθει στη φυσιολογική αρίθμηση των δίσκων. Στο παράδειγμα μας, το σύστημα συνέχισε να λειτουργεί στον αρχικό SCSI δίσκο μηδέν, και όλα τα δεδομένα του Fred ήταν εκεί, και όχι στον SCSI δίσκο τέσσερα. Το γεγονός ότι το σύστημα φαινόταν να λειτουργεί από το SCSI δίσκο τέσσερα ήταν απλώς ένα κατασκεύασμα της ανθρώπινης προσδοκίας. Είμαστε ευτυχείς να ανακοινώσουμε ότι δεν χάθηκαν καθόλου δεδομένα κατά την ανακάλυψη του φαινομένου αυτού. Ο παλιός SCSI δίσκος μηδέν ανακτήθηκε από το σωρό, και όλη η εργασία του Fred επιστράφηκε σε αυτόν (και τώρα ο Bill ξέρει ότι μπορεί να μετράει ως το μηδέν). Αν και στην ιστορία αυτή χρησιμοποιήθηκαν οδηγοί SCSI, οι αρχές ισχύουν εξίσου και για οδηγούς IDE. Δημιουργώντας Slices με Χρήση της FDisk Καμιά αλλαγή που θα κάνετε σε αυτό το σημείο δεν θα γραφεί στο δίσκο. Αν νομίζετε ότι κάνατε κάποιο λάθος και θέλετε να ξεκινήσετε ξανά από την αρχή, μπορείτε να χρησιμοποιήσετε τα μενού για να βγείτε από το sysinstall και να δοκιμάσετε ξανά ή πιέστε το U για να χρησιμοποιήσετε την επιλογή Undo. Αν μπερδευτείτε και δεν μπορείτε να δείτε πως να βγείτε, μπορείτε πάντα απλά να απενεργοποιήσετε τον υπολογιστή σας. Αφού επιλέξετε να ξεκινήσετε μια τυπική εγκατάσταση (standard installation) στο sysinstall θα δείτε το παρακάτω μήνυμα: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ] Πιέστε Enter σύμφωνα με τις οδηγίες. Θα δείτε τότε μια λίστα με όλους τους σκληρούς δίσκους που ανίχνευσε ο πυρήνας κατά τη διάρκεια της ανίχνευσης συσκευών. Το δείχνει ένα παράδειγμα από ένα σύστημα με δύο δίσκους IDE. Έχουν τα ονόματα ad0 και ad2.
Επιλέξτε Δίσκο για την FDisk
Ίσως να αναρωτιέστε γιατί δεν υπάρχει εδώ συσκευή με όνομα ad1. Τι είναι αυτό που λείπει; Σκεφτείτε τι θα γινόταν αν είχατε δύο IDE δίσκους, ένα ως master στο πρώτο IDE ελεγκτή, και ένα ως master στο δεύτερο IDE ελεγκτή. Αν το &os; τους αριθμούσε όπως τους έβρισκε, δηλ. ως ad0 και ad1 όλα θα λειτουργούσαν κανονικά. Αν όμως προσθέταμε μετά ένα τρίτο δίσκο, ως συσκευή slave στον πρώτο IDE ελεγκτή, αυτή θα γινόταν πλέον ad1, και η προηγούμενη ad1 θα γινόταν ad2. Επειδή τα ονόματα των συσκευών (όπως ad1s1a) χρησιμοποιούνται για την εύρεση των συστημάτων αρχείων, μπορεί να ανακαλύπτατε ξαφνικά ότι κάποια από τα συστήματα αρχείων σας δεν εμφανίζονται κανονικά και πρέπει να αλλάξετε την ρύθμιση του &os; σας. Για να ξεπεραστεί το πρόβλημα αυτό, ο πυρήνας μπορεί να ρυθμιστεί να ονομάζει τους δίσκους IDE ανάλογα με την θέση τους, και όχι με τη σειρά με την οποία ανιχνεύονται. Με τον τρόπο αυτό, ο master δίσκος στο δεύτερο IDE ελεγκτή θα είναι πάντα, ad2, ακόμα και αν δεν υπάρχει συσκευή ad0 ή ad1. Η ρύθμιση αυτή είναι και η προεπιλεγμένη για τον πυρήνα του &os;, και για το λόγο αυτό η οθόνη δείχνει ad0 και ad2. Το μηχάνημα από το οποίο λήφθηκε η εικόνα είχε δίσκους master και στους δύο ελεγκτές IDE, ενώ δεν είχε κανένα δίσκο slave. Πρέπει να επιλέξετε το δίσκο στον οποίο θα γίνει η εγκατάσταση του &os; και να πιέσετε &gui.ok;. Το FDisk θα ξεκινήσει, με οθόνη αντίστοιχη με αυτή που φαίνεται στο . Η οθόνη του FDisk είναι χωρισμένη σε τρία τμήματα. Το πρώτο τμήμα, το οποίο καλύπτει τις δύο πρώτες γραμμές της οθόνης, δείχνει λεπτομέρειες για τον επιλεγμένο δίσκο, που περιλαμβάνουν το όνομα του στο &os;, τη γεωμετρία του, και το συνολικό μέγεθος του. Το δεύτερο τμήμα δείχνει τα slices τα οποία υπάρχουν στο δίσκο τη δεδομένη στιγμή, τα σημεία στα οποία ξεκινούν και τελειώνουν, πόσο μεγάλα είναι, την ονομασία που έχουν στο &os; και την περιγραφή τους και τον τύπο τους. Το παράδειγμα αυτό δείχνει δύο μικρά αχρησιμοποίητα slices, τα οποία είναι παρενέργειες του τρόπου διάταξης των δίσκων στα PC. Δείχνει επίσης ένα μεγάλο FAT slice, το οποίο σίγουρα εμφανίζεται ως C: στα &ms-dos; και &windows;, καθώς και μια εκτεταμένη κατάτμηση η οποία μπορεί να περιέχει και άλλα γράμματα οδηγών για το &ms-dos; ή τα &windows;. Το τρίτο τμήμα, δείχνει τις εντολές που είναι διαθέσιμες στην FDisk.
Τυπικές Fdisk Κατατμήσεις πριν την Επεξεργασία
Το τι θα κάνετε τώρα εξαρτάται από το πως θέλετε να χωρίσετε το δίσκο σας. Αν θέλετε το &os; να χρησιμοποιήσει όλο το δίσκο σας (σβήνοντας έτσι όλα τα άλλα δεδομένα από αυτόν, όταν επιβεβαιώσετε αργότερα στην εγκατάσταση ότι θέλετε το sysinstall να προχωρήσει) μπορείτε απλώς να πιέσετε A το οποίο αντιστοιχεί με την επιλογή Use Entire Disk (Χρήση ολόκληρου του δίσκου). Οι υπάρχουσες κατατμήσεις θα διαγραφούν, και θα αντικατασταθούν με μια μικρή περιοχή μαρκαρισμένη ως unused (αχρησιμοποίητη) (ξανά, μια παρενέργεια των διατάξεων δίσκου στο PC) και με ένα μεγάλο slice για το &os;. Αν το κάνετε αυτό, θα πρέπει να επιλέξετε με τα βελάκια το νέο &os; slice και να το μαρκάρετε ως εκκινήσιμο (bootable) πιέζοντας το πλήκτρο S. Η οθόνη σας θα είναι αρκετά παρόμοια με την . Παρατηρήστε το A στην στήλη Flags, το οποίο δείχνει ότι το slice είναι active (ενεργό), και πρόκειται να γίνει εκκίνηση από αυτό. Αν πρόκειται να διαγράψετε ένα υπάρχον slice για να δημιουργήσετε χώρο για το &os;, θα πρέπει να επιλέξετε το slice με τα βελάκια, και να πιέσετε D. Μπορείτε κατόπιν να πιέσετε C, και θα ερωτηθείτε για το μέγεθος του slice που θέλετε να δημιουργήσετε. Η προεπιλεγμένη τιμή στο διάλογο αντιπροσωπεύει το μέγιστο δυνατό slice που μπορείτε να δημιουργήσετε, το οποίο μπορεί να είναι το μέγιστο συνεχόμενο μπλοκ ελεύθερου χώρου ή το μέγεθος ολόκληρου του δίσκου. Αν έχετε ήδη δημιουργήσει χώρο για το &os; (ίσως με τη χρήση κάποιου εργαλείου όπως το &partitionmagic;) μπορείτε να πιέσετε C για να δημιουργήσετε νέο slice. Θα ερωτηθείτε και πάλι για το μέγεθος του slice που θέλετε να δημιουργήσετε.
Κατάτμηση Fdisk που Χρησιμοποιεί Ολόκληρο το Δίσκο
Όταν τελειώσετε, πιέστε Q. Οι αλλαγές σας θα αποθηκευτούν στο sysinstall, αλλά δεν θα γραφτούν ακόμα στο δίσκο.
Εγκατάσταση Διαχειριστή Εκκίνησης (Boot Manager) Έχετε τώρα την επιλογή να εγκαταστήσετε διαχειριστή εκκίνησης (boot manager). Σε γενικές γραμμές θα πρέπει να επιλέξετε να εγκαταστήσετε το διαχειριστή εκκίνησης του &os; αν: Έχετε περισσότερους από ένα δίσκους, και έχετε επιλέξει να εγκαταστήσετε το &os; σε δίσκο που δεν είναι ο πρώτος. Έχετε εγκαταστήσει το &os; μαζί με ένα άλλο λειτουργικό σύστημα στον ίδιο δίσκο, και θέλετε να μπορείτε να επιλέγετε αν θα ξεκινήσετε το &os; ή το άλλο λειτουργικό, όταν ξεκινάτε τον υπολογιστή σας. Αν το &os; πρόκειται να είναι το μοναδικό λειτουργικό σύστημα στον υπολογιστή σας, και είναι εγκατεστημένο στον πρώτο σκληρό δίσκο, τότε είναι επαρκής ο Standard διαχειριστής εκκίνησης. Επιλέξτε None αν πρόκειται να χρησιμοποιήσετε διαχειριστή εκκίνησης τρίτου κατασκευαστή, ο οποίος είναι ικανός να εκκινήσει το &os;. Κάντε την επιλογή σας και πιέστε Enter.
Το μενού Boot Manager του Sysinstall
Η οθόνη βοήθειας, στην οποία έχετε πρόσβαση πιέζοντας το F1, συζητά τα προβλήματα τα οποία ενδεχομένως θα αντιμετωπίσετε όταν επιχειρήσετε να χρησιμοποιήσετε τον ίδιο δίσκο σε περισσότερα από ένα λειτουργικά συστήματα.
Δημιουργώντας Slices σε Ένα Άλλο Δίσκο Αν υπάρχουν περισσότεροι από ένας δίσκοι, θα επιστρέψετε στην οθόνη επιλογής δίσκων (Select Driver) αμέσως μετά την επιλογή του διαχειριστή εκκίνησης. Αν θέλετε να εγκαταστήσετε το &os; σε περισσότερους από ένα δίσκους, μπορείτε εδώ να επιλέξετε ένα άλλο δίσκο και να επαναλάβετε την διαδικασία κατάτμησης με την χρήση του FDisk. Αν εγκαθιστάτε το &os; σε οποιοδήποτε δίσκο εκτός από τον πρώτο θα πρέπει να εγκαταστήσετε το διαχειριστή εκκίνησης του &os; και στους δύο δίσκους.
Έξοδος από την Επιλογή Δίσκων (Select Drive)
Το πλήκτρο Tab εναλλάσσει μεταξύ του τελευταίου επιλεγμένου δίσκου, του &gui.ok;, και του &gui.cancel;. Πιέστε μια φορά το Tab για να μεταφερθείτε στο &gui.ok;, πιέστε Enter για να συνεχίσετε την εγκατάσταση.
Δημιουργώντας Κατατμήσεις (Partitions) με Χρήση του <application>Disklabel</application> Πρέπει τώρα να δημιουργήσετε κατατμήσεις μέσα σε κάθε slice που δημιουργήσατε. Θυμηθείτε ότι οι κατατμήσεις χαρακτηρίζονται από γράμματα από a ως h, και ότι οι κατατμήσεις b, c, και d έχουν τυποποιημένη σημασία την οποία πρέπει να ακολουθήσετε. Κάποιες εφαρμογές μπορεί να ωφεληθούν από συγκεκριμένο τρόπο κατάτμησης, ειδικά αν πρόκειται να δημιουργήσετε κατατμήσεις σε περισσότερους από ένα δίσκους. Ωστόσο, για αυτή την πρώτη σας εγκατάσταση του &os; δεν χρειάζεται να είστε τόσο σχολαστικοί στην κατάτμηση του δίσκου σας. Είναι πιο σημαντικό να εγκαταστήσετε το &os; και να μάθετε να το χρησιμοποιείτε. Μπορείτε πάντα να επανεγκαταστήσετε το &os; αλλάζοντας τον τρόπο κατάτμησης, όταν πλέον θα είστε πιο εξοικειωμένος με το λειτουργικό σύστημα. Ο τρόπος αυτός χρησιμοποιεί τέσσερις κατατμήσεις—μια για χώρο swap, και τρεις για συστήματα αρχείων. Διάταξη Κατατμήσεων για τον Πρώτο Δίσκο Κατάτμηση Σύστημα Αρχείων Μέγεθος Περιγραφή a / 1 GB Πρόκειται για το root σύστημα αρχείων (root filesystem). Όλα τα άλλα συστήματα αρχείων προσαρτώνται σε κάποιο σημείο κάτω από αυτό. Το 1 GB θεωρείται μια φυσιολογική τιμή για αυτό το σύστημα αρχείων. Δεν πρόκειται να βάλετε ιδιαίτερα δεδομένα σε αυτό, καθώς μια συνηθισμένη εγκατάσταση &os; θα βάλει εδώ περίπου 128 MB δεδομένων. Ο χώρος που απομένει προορίζεται για προσωρινά δεδομένα, και επίσης αφήνει χώρο επέκτασης στην περίπτωση που οι μελλοντικές εκδόσεις του &os; απαιτούν περισσότερο χώρο στο /. b N/A 2-3 x RAM Σε αυτή την κατάτμηση βρίσκεται ο χώρος swap του συστήματος. Η επιλογή σωστού μεγέθους swap μπορεί να θεωρηθεί ένα είδος τέχνης. Ένας καλός γενικός κανόνας είναι ο χώρος αυτός να είναι δύο ως τρεις φορές το μέγεθος της διαθέσιμης φυσικής μνήμης (RAM). Επίσης θα πρέπει να έχετε τουλάχιστον 64 MB swap, έτσι αν έχετε λιγότερα από 32 MB RAM στον υπολογιστή σας, ορίστε το swap στα 64 MB. Αν έχετε περισσότερους από ένα δίσκους μπορείτε να ορίσετε χώρο swap σε κάθε δίσκο. Το &os; θα χρησιμοποιεί τότε κάθε δίσκο για swap, το οποίο επιταχύνει τη διαδικασία. Στην περίπτωση αυτή, υπολογίστε το συνολικό μέγεθος του swap που χρειάζεστε (π.χ. 128 MB) και μοιράστε το με το πλήθος των δίσκων που έχετε (π.χ., δύο δίσκοι) για να βρείτε το μέγεθος του swap που θα δημιουργήσετε σε κάθε δίσκο, σε αυτό το παράδειγμα, 64 MB ανά δίσκο. e /var 512 ως 4096 MB Ο κατάλογος /var περιέχει αρχεία τα οποία συνεχώς μεταβάλλονται, όπως αρχεία καταγραφής (log files) και άλλα αρχεία που έχουν να κάνουν με διαχειριστικές εργασίες. Πολλά από τα αρχεία αυτά διαβάζονται και γράφονται συνέχεια κατά την καθημερινή χρήση του &os;. Η τοποθέτηση των αρχείων αυτών σε χωριστό σύστημα αρχείων επιτρέπει στο &os; να βελτιστοποιεί την πρόσβαση σε αυτά χωρίς να επηρεάζονται αρχεία σε άλλους καταλόγους που δεν έχουν παρόμοια συχνή πρόσβαση. f /usr Υπόλοιπος Χώρος Δίσκου (τουλάχιστον 8 GB) Όλα τα υπόλοιπα αρχεία σας θα είναι τυπικά αποθηκευμένα στο /usr και τους υποκαταλόγους του.
Οι παραπάνω τιμές δίνονται μόνο ως υποδείγματα και προορίζονται για εγκαταστάσεις από προχωρημένους χρήστες. Σας συνιστούμε να χρησιμοποιήσετε τη δυνατότητα αυτόματης κατάτμησης, η οποία αναφέρεται ως Auto Defaults στον επεξεργαστή κατατμήσεων του &os;. Αν πρόκειται να εγκαταστήσετε το &os; σε περισσότερους από ένα δίσκους, θα πρέπει να δημιουργήσετε κατατμήσεις και στα άλλα slices που έχετε δημιουργήσει. Ο ευκολότερος τρόπος είναι να δημιουργήσετε δύο κατατμήσεις σε κάθε δίσκο, μια για το swap, και μια για ένα σύστημα αρχείων. Διάταξη Κατατμήσεων για τους Υπόλοιπους Δίσκους Κατάτμηση Σύστημα Αρχείων Μέγεθος Περιγραφή b N/A Δείτε την περιγραφή Όπως έχει ήδη συζητηθεί, μπορείτε να χωρίσετε το χώρο swap ανάμεσα σε πολλούς δίσκους. Αν και η κατάτμηση a είναι ελεύθερη, η σύμβαση επιβάλλει τη χρήση της κατάτμησης b για το χώρο swap. e /diskn Υπόλοιπο Τμήμα του Δίσκου Το υπόλοιπο κομμάτι του δίσκου καταλαμβάνεται από μια μεγάλη κατάτμηση. Μπορείτε εύκολα να την βάλετε στην κατάτμηση a αντί για την e. Ωστόσο, η σύμβαση ορίζει ότι η κατάτμηση a σε ένα slice δεσμεύεται για το σύστημα αρχείων root (/). Δεν είστε υποχρεωμένοι να ακολουθήσετε αυτή τη σύμβαση, αλλά το sysinstall την ακολουθεί, οπότε αν την ακολουθήσετε και εσείς η εγκατάσταση θα είναι πιο καθαρή. Μπορείτε να προσαρτήσετε αυτό το σύστημα αρχείων όπου θέλετε. Στο παράδειγμα μας, η προσάρτηση γίνεται στους καταλόγους /diskn , όπου το n είναι ένας αριθμός που αλλάζει για κάθε δίσκο. Αλλά μπορείτε, αν προτιμάτε, να ορίσετε δική σας διάταξη.
Έχοντας αποφασίσει την διάταξη των κατατμήσεων σας, μπορείτε τώρα να την δημιουργήσετε χρησιμοποιώντας το sysinstall. Θα δείτε το παρακάτω μήνυμα: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (1GB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ] Πιέστε Enter για να ξεκινήσετε τον επεξεργαστή κατατμήσεων του &os;, που ονομάζεται Disklabel. Το δείχνει την οθόνη όταν ξεκινήσετε για πρώτη φορά το Disklabel. Η οθόνη χωρίζεται σε τρία τμήματα. Οι πρώτες γραμμές δείχνουν το όνομα του δίσκου στον οποίο δουλεύετε, και το slice που περιέχει τις κατατμήσεις που δημιουργείτε (στο σημείο αυτό το Disklabel τις ονομάζει Partition name αντί για το όνομα του slice). Η οθόνη επίσης δείχνει την ποσότητα ελεύθερου χώρου μέσα στο slice, δηλ. το χώρο που έχει κρατηθεί μέσα στο slice αλλά δεν έχει αποδοθεί ακόμα σε κάποια κατάτμηση. Το μέσο της οθόνης δείχνει τις κατατμήσεις που έχουν δημιουργηθεί, το όνομα του συστήματος αρχείων που περιέχει κάθε κατάτμηση, το μέγεθος τους, και κάποιες επιλογές που σχετίζονται με τη δημιουργία του συστήματος αρχείων. Το κάτω μέρος της οθόνης δείχνει τα πλήκτρα που μπορείτε να χρησιμοποιήσετε στο Disklabel.
Επεξεργαστής Disklabel του Sysinstall
Το Disklabel μπορεί να δημιουργήσει αυτόματα κατατμήσεις για εσάς, και να τους αποδώσει προεπιλεγμένες τιμές. Οι προεπιλεγμένες τιμές υπολογίζονται με την βοήθεια ενός ενσωματωμένου αλγορίθμου καθορισμού μεγεθών, ο οποίος αποφασίζει με βάση το μέγεθος του δίσκου. Δοκιμάστε το τώρα πιέζοντας το A. Θα δείτε μια οθόνη όμοια με αυτήν στο . Ανάλογα με το μέγεθος του δίσκου που χρησιμοποιείτε, οι προεπιλεγμένες τιμές μπορεί να είναι ή και να μην είναι κατάλληλες. Αυτό δεν έχει σημασία, γιατί δεν χρειάζεται να τις αποδεχθείτε. Ο προεπιλεγμένος τρόπος κατάτμησης αποδίδει στον κατάλογο /tmp την δική του κατάτμηση αντί να τον καθιστά μέρος της κατάτμησης /. Αυτό βοηθάει στην αποφυγή πλήρωσης της κατάτμησης / με προσωρινά αρχεία.
Ο Επεξεργαστής Κατατμήσεων Disklabel του Sysinstall με τις Αυτόματες Προεπιλογές
Αν επιλέξετε να μη χρησιμοποιήσετε τις προεπιλεγμένες κατατμήσεις και θέλετε να τις αντικαταστήσετε με τις δικές σας, χρησιμοποιήστε τα βελάκια για να επιλέξετε την πρώτη κατάτμηση και πιέστε D για να τη σβήσετε. Επαναλάβετε για να σβήσετε όλες τις προτεινόμενες κατατμήσεις. Για να δημιουργήσετε την πρώτη κατάτμηση (a, (η οποία προσαρτάται ως / — root), βεβαιωθείτε ότι έχετε επιλέξει το σωστό slice στο πάνω μέρος της οθόνης, και πιέστε C. Θα εμφανιστεί ένα πλαίσιο διαλόγου για να εισάγετε το μέγεθος της νέας κατάτμησης (όπως φαίνεται στο ). Μπορείτε να εισάγετε το μέγεθος ως τον αριθμό μπλοκ του δίσκου που θέλετε να χρησιμοποιήσετε ή ως αριθμό ακολουθούμενο από M για megabytes, G για gigabytes, ή C για κυλίνδρους.
Ελεύθερος Χώρος για την Κατάτμηση Root
Το προεπιλεγμένο μέγεθος που φαίνεται θα δημιουργήσει μια κατάτμηση που καταλαμβάνει όλο τον υπόλοιπο ελεύθερο χώρο του slice. Αν χρησιμοποιείτε τα μεγέθη των κατατμήσεων που περιγράψαμε στο προηγούμενο παράδειγμα, σβήστε τον αριθμό που φαίνεται με το Backspace, και πληκτρολογήστε 512M, όπως φαίνεται στο . Κατόπιν πιέστε &gui.ok;.
Επεξεργασία Μεγέθους της Κατάτμησης Root
Έχοντας επιλέξει το μέγεθος της κατάτμησης, θα ερωτηθείτε κατόπιν για το αν η κατάτμηση θα περιέχει κάποιο σύστημα αρχείων, ή θα γίνει χώρος swap. Ο διάλογος αυτός φαίνεται στο . Η πρώτη αυτή κατάτμηση θα περιέχει σύστημα αρχείων, για αυτό ελέγξτε ότι είναι επιλεγμένο το FS και πιέστε Enter.
Επιλέξτε τον Τύπο της Κατάτμησης Root
Τέλος, επειδή δημιουργείτε σύστημα αρχείων, πρέπει να δηλώσετε στο Disklabel που θέλετε να γίνει η προσάρτηση του. Ο αντίστοιχος διάλογος φαίνεται στο . Το σημείο προσάρτησης της κατάτμησης root είναι το /, για αυτό γράψτε /, και πιέστε Enter.
Επιλέξτε το Σημείο Προσάρτησης του Root
Η οθόνη κατόπιν θα ανανεωθεί για να σας δείξει την κατάτμηση που μόλις δημιουργήσατε. Θα πρέπει να επαναλάβετε αυτή την διαδικασία για τις άλλες κατατμήσεις. Όταν δημιουργήσετε την κατάτμηση swap, δεν θα σας ζητηθεί να επιλέξετε σημείο προσάρτησης, καθώς οι κατατμήσεις swap δεν προσαρτώνται ποτέ. Όταν δημιουργήσετε την τελευταία κατάτμηση, την /usr, μπορείτε να αφήσετε το προτεινόμενο μέγεθος, για να χρησιμοποιήσετε όλο τον υπόλοιπο χώρο του slice. Η τελευταία οθόνη του &os; Επεξεργαστή DiskLabel, θα δείχνει όμοια με την , αν και οι δικές σας τιμές θα είναι διαφορετικές. Πιέστε Q για τέλος.
Ο Επεξεργαστής Disklabel του Sysinstall
Επιλέγοντας τι θα Εγκαταστήσετε Επιλέξτε Distribution Set (Σετ Εγκατάστασης) Η απόφαση για το ποιο distribution set θα χρησιμοποιήσετε, εξαρτάται κατά κύριο λόγο από το είδος χρήσης του μηχανήματος και τον διαθέσιμο χώρο στο δίσκο. Οι προκαθορισμένες επιλογές κυμαίνονται από την ελάχιστη δυνατή διαμόρφωση μέχρι την πλήρη. Όσοι είναι καινούριοι στο &unix; ή / και στο &os; θα πρέπει σχεδόν σίγουρα να επιλέξουν μια από τις τυποποιημένες επιλογές. Η διαμόρφωση εξειδικευμένου distribution set συνίσταται συνήθως στον πιο έμπειρο χρήστη. Πιέστε το F1 για περισσότερες πληροφορίες για τις επιλογές κάθε distribution set καθώς και για τα περιεχόμενα τους. Όταν τελειώσετε με την ανάγνωση της βοήθειας, με την πίεση του Enter θα επιστρέψετε στο μενού Select Distributions. - Αν επιθυμείτε γραφικό περιβάλλον εργασίας, θα πρέπει να επιλέξετε - ένα distribution set το οποίο ξεκινάει με X. H - ρύθμιση του X server και η επιλογή γραφικού περιβάλλοντος (desktop) - πρέπει να γίνει μετά την εγκατάσταση του &os;. Περισσότερες - πληροφορίες σχετικά με την ρύθμιση του X server μπορείτε να δείτε στο - . - - Το &xorg; είναι η προεπιλεγμένη προς - εγκατάσταση έκδοση του X11. + Αν επιθυμείτε γραφικό περιβάλλον εργασίας, θα πρέπει να + ρυθμίσετε τον X server και να επιλέξετε ένα γραφικό περιβάλλον + (desktop) μετά την εγκατάσταση του &os;. Περισσότερες πληροφορίες + σχετικά με την εγκατάσταση και ρύθμιση του X server μπορείτε να + δείτε στο . Αν αναμένετε ότι θα μεταγλωττίσετε δικό σας εξειδικευμένο πυρήνα, διαλέξτε κάποια από τις επιλογές που περιέχουν τον πηγαίο κώδικα. Για περισσότερες πληροφορίες σχετικά με το γιατί να μεταγλωττίσετε δικό σας πυρήνα ή για το πως γίνεται, δείτε το . Προφανώς το πιο ευέλικτο σύστημα είναι αυτό που τα περιέχει όλα. Αν έχετε αρκετό χώρο στο δίσκο, επιλέξτε All όπως φαίνεται στο χρησιμοποιώντας τα βελάκια και πιέστε Enter. Αν σας προβληματίζει ο διαθέσιμος χώρος στο δίσκο, κάντε μια κατάλληλη επιλογή για την περίπτωση. Μην προβληματίζεστε ιδιαίτερα σχετικά με την τέλεια επιλογή, καθώς μπορείτε να εγκαταστήσετε πρόσθετα σετ και μετά το τέλος της βασικής εγκατάστασης.
Επιλέξτε Distributions (Σετ Εγκατάστασης)
Εγκατάσταση της Συλλογής Ports Μετά την επιλογή του επιθυμητού distribution set, θα έχετε την ευκαιρία να εγκαταστήσετε την συλλογή ports του &os;. Η συλλογή ports είναι μια εύκολη και βολική μέθοδος για να εγκαταστήσετε λογισμικό. Η συλλογή των ports δεν περιέχει τον πηγαίο κώδικα που απαιτείται για να μεταγλωττίσετε το λογισμικό. Απλά είναι μια συλλογή αρχείων που αυτοματοποιεί το κατέβασμα, τη μεταγλώττιση και την εγκατάσταση πακέτων λογισμικού τρίτου κατασκευαστή. Το περιγράφει πως να χρησιμοποιήσετε την συλλογή των ports. Το πρόγραμμα εγκατάστασης δεν ελέγχει αν υπάρχει αρκετός ελεύθερος χώρος. Κάντε την επιλογή αυτή μόνο αν υπάρχει αρκετός χώρος. Από την έκδοση του &os; &rel.current;, η συλλογή ports του &os; καταλαμβάνει περίπου &ports.size; χώρο στο δίσκο. Μπορείτε με ασφάλεια να θεωρήσετε ότι ο χώρος αυτός θα είναι μεγαλύτερος για πιο καινούριες εκδόσεις του &os;. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over &os.numports; ported software packages, at a cost of around &ports.size; of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The Ports Collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the Ports Collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No Επιλέξτε &gui.yes; με τα βελάκια για να εγκαταστήσετε τη συλλογή των ports ή &gui.no; για να την παραλείψετε. Πιέστε Enter για να συνεχίσετε. Θα εμφανιστεί ξανά το μενού Choose Distributions (επιλογής Σετ Εγκατάστασης).
Επιβεβαίωση Distribution Set
Αν είστε ικανοποιημένοι από τις επιλογές σας, επιλέξτε Exit με τα βελάκια, επιβεβαιώστε ότι είναι φωτισμένη η επιλογή &gui.ok; και πιέστε Enter για να συνεχίσετε.
Επιλέγοντας το Μέσο Εγκατάστασης Αν εγκαθιστάτε από CDROM ή DVD, χρησιμοποιήστε τα βελάκια για να φωτίσετε την επιλογή Install from a FreeBSD CD/DVD. Βεβαιωθείτε ότι είναι φωτισμένη η επιλογή &gui.ok; και πιέστε Enter για να προχωρήσετε με την εγκατάσταση. Για άλλες μεθόδους εγκατάστασης, κάντε την κατάλληλη επιλογή και ακολουθήστε τις οδηγίες. Πιέστε το F1 για να δείτε την ενσωματωμένη βοήθεια για τα μέσα εγκατάστασης. Πιέστε Enter για να επιστρέψετε στο μενού επιλογής μέσου εγκατάστασης.
Επιλέξτε Μέσο Εγκατάστασης (Installation Media)
Τρόποι Εγκατάστασης μέσω FTP installation network FTP Υπάρχουν τρεις μέθοδοι εγκατάστασης μέσω FTP για να επιλέξετε: ενεργό (Active) FTP, παθητικό (Passive) FTP, ή μέσω διακομιστή μεσολάβησης (proxy) HTTP. Ενεργό FTP: Install from an FTP server Με την επιλογή αυτή οι μεταφορές γίνονται μέσω Ενεργού (Active) FTP. Η επιλογή αυτή δεν θα λειτουργήσει μέσω firewalls αλλά συχνά λειτουργεί με παλιότερους διακομιστές FTP που δεν υποστηρίζουν παθητική μεταφορά. Αν η σύνδεση σας κολλήσει με παθητικό FTP (το οποίο είναι η προεπιλογή), δοκιμάστε το ενεργό! Παθητικό FTP: Install from an FTP server through a firewall FTP passive mode H επιλογή αυτή οδηγεί το sysinstall να χρησιμοποιήσει Παθητική (Passive) μεταφορά για όλες τις FTP λειτουργίες. Αυτό επιτρέπει στο χρήστη να περνάει μέσω firewalls τα οποία δεν επιτρέπουν εισερχόμενες συνδέσεις σε τυχαίες TCP πόρτες. FTP μέσω HTTP μεσολάβησης: Install from an FTP server through a http proxy FTP via a HTTP proxy Η επιλογή αυτή οδηγεί το sysinstall στη χρήση HTTP πρωτοκόλλου (όπως οι φυλλομετρητές) για να συνδεθεί με ένα διακομιστή μεσολάβησης για όλες τις λειτουργίες του FTP. Ο διακομιστής μεσολάβησης αναλαμβάνει να μεταφράσει όλες τις εντολές και να τις στείλει στον διακομιστή FTP. Αυτό επιτρέπει στο χρήστη να περάσει μέσω firewalls που δεν επιτρέπουν καθόλου FTP, αλλά προσφέρουν λειτουργία διαμεσολάβησης μέσω HTTP. Στην περίπτωση αυτή πρέπει να ορίσετε εκτός από τον διακομιστή FTP, και το διακομιστή μεσολάβησης. Για διακομιστή μεσολάβησης FTP server, πρέπει συνήθως να δώσετε το όνομα του διακομιστή με τον οποίο θέλετε στην πραγματικότητα να συνδεθείτε, ως μέρος του username, μετά από το σύμβολο @. Ο διακομιστής μεσολάβησης μιμείται τότε τον πραγματικό διακομιστή. Για παράδειγμα, υποθέστε ότι θέλετε να κάνετε εγκατάσταση από το ftp.FreeBSD.org, χρησιμοποιώντας FTP μεσολαβητή τον foo.example.com, ο οποίος χρησιμοποιεί την πόρτα 1234. Στην περίπτωση αυτή, πηγαίνετε στο μενού επιλογών (options), θέτετε ως FTP username το ftp@ftp.FreeBSD.org, και ως κωδικό (password) την διεύθυνση email σας. Σαν μέσο εγκατάστασης (installation media) ορίζετε FTP (ή παθητικό FTP αν το υποστηρίζει ο μεσολαβητής) και το URL ftp://foo.example.com:1234/pub/FreeBSD. Καθώς το /pub/FreeBSD από ftp.FreeBSD.org γίνεται ορατό μέσω του foo.example.com, μπορείτε να εγκαταστήσετε από εκείνο το μηχάνημα (το οποίο θα φέρει τα αρχεία από το ftp.FreeBSD.org όπως απαιτούνται από την εγκατάσταση σας.
Επιβεβαίωση της Εγκατάστασης Η εγκατάσταση μπορεί τώρα να προχωρήσει, εφόσον το επιθυμείτε. Αυτή είναι επίσης η τελευταία σας ευκαιρία να την ακυρώσετε εμποδίζοντας έτσι και τις αλλαγές που πρόκειται να γίνουν στο σκληρό σας δίσκο. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No Επιλέξτε &gui.yes; και πιέστε Enter για να προχωρήσετε. Ο χρόνος εγκατάστασης διαφέρει ανάλογα με το distribution set που έχετε επιλέξει, το μέσο εγκατάστασης, και την ταχύτητα του υπολογιστή σας. Θα δείτε μια σειρά από μηνύματα τα οποία δείχνουν την κατάσταση της εγκατάστασης. Η εγκατάσταση θα έχει ολοκληρωθεί όταν δείτε το ακόλουθο μήνυμα: Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /usr/sbin/sysinstall. [ OK ] [ Press enter or space ] Πιέστε Enter για να προχωρήσετε με τις ρυθμίσεις μετά την εγκατάσταση. Αν επιλέξετε &gui.no; και πιέσετε Enter θα ακυρώσετε την εγκατάσταση και δεν θα γίνει καμιά αλλαγή στο σύστημα σας. Θα εμφανιστεί το ακόλουθο μήνυμα: Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ] Το μήνυμα αυτό εμφανίζεται επειδή δεν έγινε καμιά εγκατάσταση. Πιέζοντας Enter θα επιστρέψετε στο Κυρίως Μενού Εγκατάστασης (Main Installation Menu) για να βγείτε από την εγκατάσταση. Μετά την Εγκατάσταση Μετά από μια επιτυχημένη εγκατάσταση, ακολουθεί η ρύθμιση διάφορων προαιρετικών επιλογών. Οι ρυθμίσεις μπορούν να γίνουν αν εισέλθετε ξανά στο αντίστοιχο μενού (configuration options) πριν επανεκκινήσετε το νέο &os; σύστημα σας ή μετά την εγκατάσταση, χρησιμοποιώντας το sysinstall και επιλέγοντας Configure. Ρύθμιση Συσκευών Δικτύου Αν έχετε ρυθμίσει προηγουμένως το PPP για να κάνετε εγκατάσταση μέσω FTP, η οθόνη αυτή δεν θα εμφανιστεί, αλλά μπορείτε να την ρυθμίσετε αργότερα με τον τρόπο που περιγράψαμε παραπάνω. Για λεπτομερείς πληροφορίες σχετικά με Τοπικά Δίκτυα (LAN) και για ρύθμιση του &os; ως πύλη / δρομολογητή (gateway/router), ανατρέξτε στο κεφάλαιο Advanced Networking. User Confirmation Requested Would you like to configure any Ethernet or PPP network devices? [ Yes ] No Για να ρυθμίσετε μια συσκευή δικτύου, επιλέξτε &gui.yes; και πιέστε Enter. Διαφορετικά, επιλέξτε &gui.no; για να συνεχίσετε.
Επιλέγοντας μια Συσκευή Ethernet
Επιλέξτε το interface που θα ρυθμίσετε με τα βελάκια, και πιέστε Enter. User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ] Στο συγκεκριμένο ιδιωτικό τοπικό δίκτυο, το τρέχον Internet πρωτόκολλο (IPv4) ήταν αρκετό. Επιλέξαμε το &gui.no; με τα βελάκια και πιέσαμε Enter. Αν είστε συνδεμένοι σε ένα υπάρχον IPv6 δίκτυο με ένα διακομιστή RA, επιλέξτε &gui.yes; και πιέστε Enter. Θα χρειαστούν αρκετά δευτερόλεπτα για την ανίχνευση διακομιστών RA. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ] Αν δεν χρειάζεστε DHCP (Πρωτόκολλο Δυναμικής Απόδοσης Ρυθμίσεων, Dynamic Host Configuration Protocol) επιλέξτε &gui.no; με τα βελάκια και πιέστε Enter. Αν επιλέξετε &gui.yes; θα εκτελεστεί η εφαρμογή dhclient, και αν είναι επιτυχής, θα γίνει αυτόματη ρύθμιση των παραμέτρων του δικτύου. Ανατρέξτε στο για περισσότερες πληροφορίες. Η ακόλουθη οθόνη Ρυθμίσεων Δικτύου δείχνει τη ρύθμιση μιας συσκευής Ethernet για ένα σύστημα το οποίο θα λειτουργεί ως πύλη για ένα Τοπικό Δίκτυο (LAN).
Ρύθμιση Παραμέτρων Συσκευής ed0
Χρησιμοποιήστε το Tab για να επιλέξετε ανάμεσα στα διάφορα πεδία και να συμπληρώσετε τις κατάλληλες πληροφορίες. Host (Όνομα μηχανήματος) Το πλήρες όνομα του μηχανήματος, π.χ. k6-2.example.com σε αυτή την περίπτωση. Domain (Τομέας) Το όνομα του τομέα στον οποίο βρίσκεται το μηχάνημα, όπως example.com σε αυτή την περίπτωση. IPv4 Gateway (Πύλη) Πρόκειται για την διεύθυνση IP στην οποία προωθούνται τα πακέτα τα οποία δεν προορίζονται για τοπικούς προορισμούς. Θα πρέπει να συμπληρώσετε το πεδίο αυτό αν ο υπολογιστής είναι κόμβος στο συγκεκριμένο δίκτυο. Αφήστε αυτό το πεδίο κενό αν ο υπολογιστής είναι η πύλη για το Internet στο συγκεκριμένο δίκτυο. Η πύλη IPv4 είναι επίσης γνωστή ως προεπιλεγμένη πύλη ή προεπιλεγμένη διαδρομή (default gateway / default route). Name server (Διακομιστής Ονομάτων) Είναι η IP διεύθυνση του τοπικού σας διακομιστή DNS. Στο συγκεκριμένο ιδιωτικό τοπικό δίκτυο, δεν υπάρχει διακομιστής DNS και έτσι χρησιμοποιήθηκε η IP διεύθυνση του διακομιστή DNS που δίνει ο παροχέας Internet (208.163.10.2). IPv4 address (Διεύθυνση) Η IP διεύθυνση που θα χρησιμοποιηθεί σε αυτό το interface είναι 192.168.0.1 Netmask (Μάσκα Υποδικτύου) Το μπλοκ διευθύνσεων που χρησιμοποιούνται σε αυτό το δίκτυο είναι 192.168.0.0 - 192.168.0.255 με μάσκα υποδικτύου (netmask) 255.255.255.0. Extra options to ifconfig (Επιπλέον επιλογές για την ifconfig) Προσθέστε εδώ επιπλέον επιλογές για την ifconfig και το συγκεκριμένο interface. Στην συγκεκριμένη περίπτωση δεν υπάρχει καμία. Χρησιμοποιήστε το Tab για να επιλέξετε &gui.ok; όταν τελειώσετε, και πιέστε Enter. User Confirmation Requested Would you like to bring the ed0 interface up right now? [ Yes ] No Επιλέγοντας &gui.yes; και πιέζοντας Enter θα ενεργοποιήσετε το δίκτυο, έτοιμο προς χρήση στο μηχάνημα σας. Ωστόσο αυτό δεν επιτυγχάνει και πολλά κατά τη διάρκεια της εγκατάστασης, ούτως ή άλλως θα χρειαστεί να κάνετε επανεκκίνηση.
Ρύθμισης Πύλης (Gateway) User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No Αν το μηχάνημα πρόκειται να λειτουργεί ως πύλη για ένα τόπικο δίκτυο και να προωθεί πακέτα μεταξύ άλλων μηχανημάτων, επιλέξτε &gui.yes; και πιέστε Enter. Αν το μηχάνημα είναι ένας κόμβος του δικτύου, επιλέξτε &gui.no; και πιέστε Enter. Ρύθμιση Υπηρεσιών Internet (Internet Services) User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ] Αν επιλέξετε &gui.no;, κάποιες υπηρεσίες όπως το telnetd δεν θα ενεργοποιηθούν. Αυτό σημαίνει ότι απομακρυσμένοι χρήστες δεν θα μπορούν να χρησιμοποιήσουν το telnet για να εισέλθουν στο μηχάνημα. Οι τοπικοί χρήστες θα μπορούν ωστόσο να έχουν πρόσβαση σε απομακρυσμένα μηχανήματα μέσω του telnet. Οι υπηρεσίες αυτές μπορούν να ενεργοποιηθούν μετά την εγκατάσταση με την επεξεργασία του αρχείου /etc/inetd.conf με τον προτιμώμενο σας επεξεργαστή κειμένου. Δείτε το για περισσότερες πληροφορίες. Επιλέξτε &gui.yes; αν θέλετε να ρυθμίσετε τις υπηρεσίες αυτές κατά την εγκατάσταση. Θα ερωτηθείτε για μια ακόμα επιβεβαίωση: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No Επιλέξτε &gui.yes; για να συνεχίσετε. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No Επιλέγοντας &gui.yes; θα μπορέσετε να προσθέσετε υπηρεσίες σβήνοντας το # από την αρχή μιας γραμμής.
Επεξεργασία του <filename>inetd.conf</filename>
Μετά την προσθήκη των επιθυμητών υπηρεσιών, και με την πίεση του Esc θα εμφανιστεί ένα μενού το οποίο σας επιτρέπει να βγείτε από το πρόγραμμα, αποθηκεύοντας και τις αλλαγές σας.
Ενεργοποίηση Εισόδου μέσω SSH SSH sshd User Confirmation Requested Would you like to enable SSH login? Yes [ No ] Αν επιλέξετε &gui.yes; θα ενεργοποιηθεί ο &man.sshd.8;, ο δαίμονας του OpenSSH. Με τον τρόπο αυτό θα επιτρέψετε ασφαλή απομακρυσμένη πρόσβαση στο μηχάνημα σας. Για περισσότερες πληροφορίες σχετικά με το OpenSSH δείτε το . Ανώνυμο FTP FTP anonymous User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ] Άρνηση Ανώνυμου FTP Επιλέγοντας το προεπιλεγμένο &gui.no; και πιέζοντας Enter θα επιτρέπεται μόνος στους χρήστες που έχουν λογαριασμούς με κωδικούς να έχουν FTP πρόσβαση στο μηχάνημα. Επιτρέποντας το Ανώνυμο FTP Οποιοσδήποτε μπορεί να έχει πρόσβαση στο μηχάνημα σας, αν επιλέξετε να επιτρέψετε τις ανώνυμες συνδέσεις FTP. Θα πρέπει να λάβετε υπόψιν σας τις επιπλοκές ασφαλείας που θα επιφέρει μια τέτοια ρύθμιση. Για περισσότερες πληροφορίες σχετικά με την ασφάλεια, δείτε το . Για να επιτρέψετε το ανώνυμο FTP, χρησιμοποιήστε τα βελάκια για να επιλέξετε &gui.yes; και να πιέσετε Enter. Θα χρειαστεί να επιβεβαιώσετε ξανά την επιλογή σας: User Confirmation Requested Anonymous FTP permits un-authenticated users to connect to the system FTP server, if FTP service is enabled. Anonymous users are restricted to a specific subset of the file system, and the default configuration provides a drop-box incoming directory to which uploads are permitted. You must separately enable both inetd(8), and enable ftpd(8) in inetd.conf(5) for FTP services to be available. If you did not do so earlier, you will have the opportunity to enable inetd(8) again later. If you want the server to be read-only you should leave the upload directory option empty and add the -r command-line option to ftpd(8) in inetd.conf(5) Do you wish to continue configuring anonymous FTP? [ Yes ] No Το μήνυμα αυτό σας ειδοποιεί επίσης ότι η υπηρεσία FTP θα πρέπει επίσης να ενεργοποιηθεί στο /etc/inetd.conf σε περίπτωση που θέλετε να ενεργοποιηθούν οι ανώνυμες συνδέσεις FTP (δείτε το ). Επιλέξτε &gui.yes; και πιέστε Enter για να συνεχίσετε. Θα δείτε την ακόλουθη οθόνη:
Προεπιλεγμένες Ρυθμίσεις Ανώνυμου FTP
Χρησιμοποιήστε το Tab για να επιλέξετε και να συμπληρώσετε τα απαραίτητα πεδία πληροφοριών: UID Ο αναγνωριστικός αριθμός (user ID) που θέλετε να αποδώσετε στον ανώνυμο FTP χρήστη. Όλα τα αρχεία που θα ανεβαίνουν στον διακομιστή FTP θα ανήκουν σε αυτό το ID. Group Σε ποια ομάδα χρηστών (group) θέλετε να ανήκει ο ανώνυμος FTP χρήστης. Comment Κείμενο που περιέχει περιγραφή του χρήστη στο αρχείο /etc/passwd. FTP Root Directory Η τοποθεσία που περιέχει τα αρχεία που είναι διαθέσιμα στο ανώνυμο FTP. Upload Subdirectory Η τοποθεσία που θα ανεβαίνουν τα αρχεία από ανώνυμους FTP χρήστες. Ο ριζικός (root) κατάλογος του FTP, από προεπιλογή, δημιουργείται στο /var. Αν δεν υπάρχει εκεί αρκετός χώρος για την αναμενόμενη χρήση του FTP, μπορείτε να χρησιμοποιήσετε τον κατάλογο /usr αλλάζοντας τον ριζικό κατάλογο (FTP Root Directory) σε /usr/ftp. Όταν είστε ικανοποιημένος με τις τιμές, πιέστε Enter για να συνεχίσετε. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No Αν επιλέξετε &gui.yes; και πιέσετε Enter, θα ξεκινήσει αυτόματα ένας επεξεργαστής κειμένου ώστε να μπορέσετε να επεξεργαστείτε το μήνυμα.
Επεξεργασία του Μηνύματος Καλοσωρίσματος (Welcome Message) του FTP
Πρόκειται για τον επεξεργαστή κειμένου ee. Χρησιμοποιήστε τις οδηγίες για να αλλάξετε το μήνυμα ή αν θέλετε αλλάξτε το μήνυμα αργότερα, χρησιμοποιώντας ένα επεξεργαστή κειμένου της επιλογής σας. Δείτε το όνομα του αρχείου και τη θέση του στην τελευταία γραμμή της οθόνης του επεξεργαστή κειμένου. Πιέζοντας Esc θα εμφανιστεί ένα αναδυόμενο μενού με προεπιλεγμένη την επιλογή a) leave editor. Πιέστε Enter για έξοδο και συνέχεια. Πιέστε ξανά Enter για να αποθηκεύσετε τυχόν αλλαγές που έχετε κάνει.
Ρύθμιση Συστήματος Αρχείων Δικτύου (Network File System) Το Σύστημα Αρχείων Δικτύου (NFS) επιτρέπει το διαμοιρασμό αρχείων σε ένα δίκτυο. Ένα μηχάνημα μπορεί να ρυθμιστεί ως εξυπηρετητής, πελάτης ή και τα δύο. Ανατρέξτε στο για περισσότερες πληροφορίες. Διακομιστής NFS User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ] Αν δεν υπάρχει ανάγκη για εξυπηρετητή Συστήματος Αρχείων Δικτύου, επιλέξτε &gui.no; και πιέστε Enter. Αν επιλέξετε &gui.yes; θα εμφανιστεί ένα αναδυόμενο μήνυμα που σας πληροφορεί ότι πρέπει να δημιουργηθεί το αρχείο exports. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ] Πιέστε Enter για να συνεχίσετε. Θα ανοίξει ένας επεξεργαστής κειμένου για να μπορέσετε να δημιουργήσετε και να επεξεργαστείτε το αρχείο exports.
Επεξεργασία Αρχείου <filename>exports</filename>
Χρησιμοποιήστε τις οδηγίες για να προσθέσετε τα συστήματα αρχείων που θέλετε να διαμοιράσετε, τώρα ή αργότερα χρησιμοποιώντας ένα επεξεργαστή κειμένου της επιλογής σας. Σημειώστε το όνομα και την τοποθεσία του αρχείου όπως φαίνονται στο κάτω μέρος της οθόνης. Πιέζοντας Esc θα εμφανιστεί ένα αναδυόμενο μενού με προεπιλεγμένη την επιλογή a) leave editor. Πιέστε Enter για έξοδο και συνέχεια.
Πελάτης NFS Ο πελάτης NFS επιτρέπει στο μηχάνημα σας να έχει πρόσβαση σε εξυπηρετητές NFS. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes [ No ] Με τα βελάκια, επιλέξτε κατά βούληση &gui.yes; ή &gui.no; και πιέστε Enter.
Ρυθμίσεις Κονσόλας (System Console Settings) Υπάρχουν διάφορες διαθέσιμες επιλογές για τη ρύθμιση της κονσόλας του συστήματος. User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No Για να δείτε και να ρυθμίσετε τις επιλογές, επιλέξτε &gui.yes; και πιέστε Enter.
Επιλογές Ρύθμισης Κονσόλας Συστήματος
Μια συνηθισμένη επιλογή είναι η προστασία οθόνης (screen saver). Χρησιμοποιήστε τα βελάκια για να επιλέξετε Saver και πιέστε Enter.
Επιλογές Προστασίας Οθόνης
Επιλέξτε την επιθυμητή προστασία οθόνης με τα βελάκια, και πιέστε Enter. Θα ξαναδείτε το μενού Ρύθμισης Κονσόλας Συστήματος. Το προεπιλεγμένο χρονικό διάστημα είναι 300 δευτερόλεπτα. Για να αλλάξετε το διάστημα, επιλέξτε ξανά Saver και από το μενού Screen Saver Options επιλέξτε Timeout με τα βελάκια, και πιέστε Enter. Θα εμφανιστεί ένα αναδυόμενο μενού:
Χρονικό Διάστημα Προστασίας Οθόνης
Αλλάξτε την τιμή, επιλέξτε &gui.ok; και πιέστε Enter για να επιστρέψετε στο μενού Ρύθμισης Κονσόλας Συστήματος.
Έξοδος από τις Ρυθμίσεις Κονσόλας Συστήματος
Επιλέγοντας Exit και πιέζοντας Enter θα συνεχίσετε με τις υπόλοιπες ρυθμίσεις που πρέπει να γίνουν μετά την εγκατάσταση.
Ρύθμιση Ζώνης Ώρας (Time Zone) Η σωστή ρύθμιση της ζώνης ώρας, θα επιτρέψει στο μηχάνημα σας να διορθώνει αυτόματα την ώρα σύμφωνα με τις τοπικές ρυθμίσεις, καθώς και να εκτελεί άλλες λειτουργίες που σχετίζονται με τις ζώνες ώρας. Το παράδειγμα που φαίνεται είναι για ένα μηχάνημα που βρίσκεται στις Ανατολικές Ηνωμένες Πολιτείες. Οι επιλογές σας θα διαφέρουν ανάλογα με τη γεωγραφική σας θέση. User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No Επιλέξτε &gui.yes; και πιέστε Enter για να ρυθμίσετε τη ζώνη ώρας. User Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NO here! Yes [ No ] Επιλέξτε &gui.yes; ή &gui.no; ανάλογα με το πως είναι ρυθμισμένο το ρολόι στο μηχάνημα σας και πιέστε Enter.
Επιλογή της Περιοχής σας
Επιλέξτε την κατάλληλη περιοχή (region) με τα βελάκια και πιέστε Enter.
Επιλογή της Χώρας σας
Επιλέξτε την κατάλληλη χώρα χρησιμοποιώντας τα βελάκια και πιέστε Enter.
Επιλογή Ζώνης Ώρας (Time Zone)
Επιλέξτε την κατάλληλη ζώνη ώρας με τα βελάκια και πιέστε Enter. Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No Επιβεβαιώστε ότι είναι σωστή η συντομογραφία για τη ζώνη ώρας που έχετε επιλέξει. Αν φαίνεται εντάξει, πιέστε Enter για να συνεχίσετε με τις υπόλοιπες ρυθμίσεις μετά την εγκατάσταση.
Συμβατότητα με το Linux (Linux Compatibility) + + Η ενότητα αυτή ισχύει μόνο για την εγκατάσταση &os; της σειράς + 7.Χ. Αν εγκαταστήσετε &os; 8.X η οθόνη αυτή δεν θα + εμφανιστεί. + + User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No Επιλέγοντας &gui.yes; και πιέζοντας Enter θα επιτρέψετε την εκτέλεση προγραμμάτων Linux στο &os;. Η εγκατάσταση θα προσθέσει όλα τα απαραίτητα πακέτα για τη συμβατότητα με εκτελέσιμα προγράμματα για Linux. Αν κάνετε εγκατάσταση μέσω FTP, το μηχάνημα θα πρέπει να είναι συνδεμένο στο Internet. Μερικές φορές, μια τοποθεσία FTP δεν έχει όλες τις απαιτούμενες διανομές, όπως τη συμβατότητα με το Linux. Μπορείτε ωστόσο να την εγκαταστήσετε αργότερα, αν χρειάζεται. Ρυθμίσεις Ποντικιού (Mouse Settings) Η επιλογή αυτή θα σας επιτρέψει να κάνετε αποκοπή και επικόλληση κειμένου στην κονσόλα και σε προγράμματα χρησιμοποιώντας ένα ποντίκι τριών πλήκτρων. Αν χρησιμοποιείτε ποντίκι δύο πλήκτρων, ανατρέξτε στη σελίδα βοήθειας, &man.moused.8;, μετά την εγκατάσταση για να δείτε πως μπορείτε να εξομοιώσετε ποντίκι τριών πλήκτρων. Στο παράδειγμα αυτό φαίνεται η ρύθμιση ενός μη-USB ποντικιού (π.χ. PS/2 η σειριακού - COM - ποντικιού): User Confirmation Requested Does this system have a non-USB mouse attached to it? [ Yes ] No Επιλέξτε &gui.yes; για μη-USB ποντίκι, ή &gui.no; για USB ποντίκι και πιέστε Enter.
Επιλογή Πρωτοκόλλου Ποντικιού (Mouse Protocol Type)
Χρησιμοποιήστε τα βελάκια για να επιλέξετε Type και πιέστε Enter.
Επιλογή Πρωτοκόλλου Ποντικιού (Mouse Protocol)
Το ποντίκι που χρησιμοποιείται σε αυτό το παράδειγμα, είναι τύπου PS/2, και έτσι είναι σωστή η προεπιλεγμένη ρύθμιση Auto. Για να αλλάξετε πρωτόκολλο, χρησιμοποιήστε τα βελάκια για να κάνετε κάποια άλλη επιλογή. Βεβαιωθείτε ότι είναι φωτισμένη η επιλογή &gui.ok; και πιέστε Enter για έξοδο από αυτό το μενού.
Ρύθμιση Πόρτας Ποντικιού (Mouse Port)
Χρησιμοποιήστε τα βελάκια για να επιλέξετε Port και πιέστε Enter.
Ρύθμιση Πόρτας Ποντικιού (Mouse Port)
Το σύστημα αυτό είχε ποντίκι PS/2 και έτσι ήταν κατάλληλη η προεπιλεγμένη ρύθμιση PS/2. Για να αλλάξετε την πόρτα, χρησιμοποιήστε τα βελάκια και πιέστε Enter.
Ενεργοποίηση του Δαίμονα Ποντικιού (Mouse Daemon)
Τέλος, χρησιμοποιήστε τα βελάκια για να επιλέξετε Enable, και πιέστε Enter για να ενεργοποιήσετε και να δοκιμάσετε τον δαίμονα του ποντικιού (mouse daemon).
Έλεγχος του Δαίμονα Ποντικιού
Μετακινήστε το ποντίκι στην οθόνη και βεβαιωθείτε ότι ο δρομέας αντιδρά σωστά. Αν είναι εντάξει, επιλέξτε &gui.yes; και πιέστε Enter. Αν όχι, το ποντίκι δεν έχει ρυθμιστεί σωστά — επιλέξτε &gui.no; και ξαναδοκιμάστε χρησιμοποιώντας διαφορετικές ρυθμίσεις. Επιλέξτε Exit με τα βελάκια και πιέστε Enter για να επιστρέψετε, ώστε να συνεχίσετε με τις υπόλοιπες ρυθμίσεις μετά την εγκατάσταση.
Εγκατάσταση Πακέτων Τα πακέτα είναι προμεταγλωττισμένα εκτελέσιμα, και αποτελούν ένα βολικό τρόπο για να εγκαταστήσετε λογισμικό. Θα σας δείξουμε την εγκατάσταση ενός πακέτου ως παράδειγμα. Μπορείτε επίσης να εγκαταστήσετε τώρα και όποια άλλα πρόσθετα πακέτα επιθυμείτε. Μετά την εγκατάσταση, μπορείτε να χρησιμοποιήσετε το sysinstall για να εγκαταστήσετε πρόσθετα πακέτα. User Confirmation Requested The FreeBSD package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ] No Επιλέγοντας &gui.yes; και πιέζοντας Enter θα δείτε τις οθόνες επιλογής πακέτων:
Επιλογή Κατηγορίας Πακέτου
Μπορείτε κάθε δεδομένη στιγμή να εγκαταστήσετε μόνο τα πακέτα που είναι διαθέσιμα στο τρέχον μέσο εγκατάστασης. Με την επιλογή All θα δείτε όλα τα διαθέσιμα πακέτα, ή μπορείτε να επιλέξετε συγκεκριμένη κατηγορία. Φωτίστε την επιλογή σας με τα βελάκια και πιέστε Enter. Θα εμφανιστεί ένα μενού το οποίο δείχνει όλα διαθέσιμα πακέτα για την επιλογή που κάνατε:
Επιλογή Πακέτων
Το κέλυφος (shell) bash φαίνεται επιλεγμένο. Επιλέξτε όσα πακέτα επιθυμείτε, φωτίζοντας το πακέτο και πιέζοντας το πλήκτρο Space. Θα δείτε μια σύντομη περιγραφή για κάθε πακέτο στο κάτω αριστερό μέρος της οθόνης. Η πίεση του πλήκτρου Tab εναλλάσσει μεταξύ του τελευταίου επιλεγμένου πακέτου, του &gui.ok;, και του &gui.cancel;. Όταν έχετε τελειώσει με το μαρκάρισμα των πακέτων προς εγκατάσταση, πιέστε μια φορά Tab για να μετακινηθείτε στο &gui.ok; και πιέστε Enter για να επιστρέψετε στο μενού Επιλογής Πακέτων (Package Selection). Το αριστερό και δεξί βελάκι εναλλάσσει επίσης μεταξύ του &gui.ok; και του &gui.cancel;. Μπορείτε να χρησιμοποιήσετε αυτή τη μέθοδο για να επιλέξετε &gui.ok; και πιέστε Enter για να επιστρέψετε στο μενού Επιλογής Πακέτων.
Εγκατάσταση Πακέτων
Χρησιμοποιήστε το Tab και τα βελάκια για να επιλέξετε [ Install ] και πιέστε Enter. Θα χρειαστεί να επιβεβαιώσετε ότι θέλετε να εγκαταστήσετε τα πακέτα:
Επιβεβαίωση Εγκατάστασης Πακέτων
Επιλέγοντας &gui.ok; και πιέζοντας Enter θα ξεκινήσει η εγκατάσταση πακέτων. Θα βλέπετε μηνύματα της εγκατάστασης μέχρι την ολοκλήρωση της. Σημειώστε τυχόν μηνύματα λάθους που εμφανίζονται. Η τελική ρύθμιση συνεχίζεται μετά την εγκατάσταση των πακέτων. Αν καταλήξετε να μην εγκαταστήσετε κανένα πακέτο, και επιθυμείτε να επιστρέψετε στην τελική ρύθμιση, επιλέξτε Install ούτως ή άλλως.
Προσθήκη Χρηστών / Ομάδων (Users/Groups) Θα πρέπει να προσθέσετε τουλάχιστον ένα χρήστη κατά τη διάρκεια της εγκατάστασης, ώστε να μπορείτε να χρησιμοποιήσετε το σύστημα χωρίς να εισέρχεστε ως root. Η root κατάτμηση είναι γενικά μικρή, και εκτελώντας εφαρμογές ως root μπορεί γρήγορα να γεμίσει. Παρακάτω φαίνεται και ένας πιο σοβαρός κίνδυνος: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No Επιλέξτε &gui.yes; και πιέστε Enter για να συνεχίσετε με την προσθήκη ενός χρήστη.
Επιλογή Χρήστη
Επιλέξτε User με τα βελάκια και πιέστε Enter.
Προσθήκη Πληροφοριών Χρήστη
Καθώς θα εισάγετε τα στοιχεία πιέζοντας το Tab θα εμφανίζονται οι παρακάτω περιγραφές στο κάτω μέρος της οθόνης για να σας βοηθήσουν στην εισαγωγή των απαιτούμενων πληροφοριών: Login ID To όνομα χρήστη (login name) για το νέο χρήστη (υποχρεωτικό). UID Ο αναγνωριστικός αριθμός (numerical ID) για αυτό τον χρήστη (αφήστε τον κενό για αυτόματη επιλογή). Group Το όνομα της ομάδας (group name) για αυτό το χρήστη (αφήστε τον κενό για αυτόματη επιλογή). Password Ο κωδικός (password) για αυτό το χρήστη (δώστε προσοχή στο πεδίο αυτό!). Full name Το πλήρες όνομα του χρήστη (σχόλιο). Member groups Οι υπόλοιπες ομάδες (groups) στις οποίες ανήκει αυτός ο χρήστης (έχει δηλ. τα δικαιώματα τους). Home directory Ο προσωπικός κατάλογος αρχείων (home directory) του χρήστη (αφήστε κενό για την προεπιλεγμένη επιλογή). Login shell Το προεπιλεγμένο κέλυφος (login shell) του χρήστη (αφήστε κενό για την προεπιλογή, π.χ. /bin/sh). Το κέλυφος εισόδου αλλάχτηκε από /bin/sh σε /usr/local/bin/bash για να χρησιμοποιηθεί το κέλυφος bash το οποίο εγκαταστήσαμε προηγουμένως μέσω πακέτου. Μην προσπαθήσετε να χρησιμοποιήσετε κάποιο κέλυφος που δεν υπάρχει, διαφορετικά δεν θα μπορείτε να κάνετε login. Το πλέον συνηθισμένο κέλυφος στον κόσμο του BSD είναι το C shell, το οποίο μπορείτε να γράψετε ως /bin/tcsh. Ο χρήστης προστέθηκε επίσης στην ομάδα wheel για να έχει τη δυνατότητα να γίνει υπερχρήστης (superuser) με δικαιώματα root. Όταν είστε ικανοποιημένος από τις επιλογές σας, πιέστε &gui.ok; και θα εμφανιστεί ξανά το μενού User and Group Management:
Έξοδος από την Διαχείριση Χρηστών και Ομάδων
Μπορείτε επίσης τη δεδομένη στιγμή να προσθέσετε ομάδες, αν υπάρχει συγκεκριμένη ανάγκη. Διαφορετικά, μπορείτε να επανέλθετε στη ρύθμιση αυτή μετά την εγκατάσταση, μέσω του sysinstall. Όταν τελειώσετε με την προσθήκη χρηστών, επιλέξτε Exit με τα βελάκια και πιέστε Enter για να συνεχίσετε με την εγκατάσταση.
Ορισμός του Κωδικού για το Χρήστη <username>root</username> Message Now you must set the system manager's password. This is the password you'll use to log in as "root". [ OK ] [ Press enter to continue ] Πιέστε Enter για να ορίσετε τον κωδικό για το χρήστη root. Θα πρέπει να πληκτρολογήσετε δύο φορές τον κωδικό σωστά. Δεν χρειάζεται να πούμε ότι πρέπει να έχετε τρόπο να βρείτε τον κωδικό αν τον ξεχάσετε. Παρατηρήστε ότι ο κωδικός δεν εμφανίζεται καθώς τον πληκτρολογείτε, ούτε και εμφανίζονται αστεράκια στη θέση του. Changing local password for root. New password : Retype new password : Η εγκατάσταση θα συνεχιστεί μετά την επιτυχημένη εισαγωγή του κωδικού. Έξοδος από την Εγκατάσταση Αν χρειάζεται να ρυθμίσετε πρόσθετες δικτυακές υπηρεσίες, ή κάποια άλλη ρύθμιση, μπορείτε να το κάνετε τώρα ή μετά την εγκατάσταση με τη χρήση της εντολής sysinstall. User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ] Επιλέξτε &gui.no; με τα βελάκια και πιέστε Enter για να επιστρέψετε στο Κυρίως Μενού Εγκατάστασης (Main Installation Menu).
Έξοδος από την Εγκατάσταση
Επιλέξτε [X Exit Install] με τα βελάκια και πιέστε Enter. Θα κληθείτε να επιβεβαιώσετε την έξοδο από την εγκατάσταση: User Confirmation Requested - Are you sure you wish to exit? The system will reboot (be sure to - remove any floppies from the drives). + Are you sure you wish to exit? The system will reboot. [ Yes ] No - Επιλέξτε &gui.yes; και αν έχετε ξεκινήσει από δισκέτα, βγάλτε την. - Ο οδηγός CDROM θα παραμείνει κλειδωμένος μέχρι να αρχίσει η - επανεκκίνηση του μηχανήματος. Κατόπιν ξεκλειδώνει, και μπορείτε - (γρήγορα) να βγάλετε το CD από τον οδηγό. + Επιλέξτε &gui.yes;. Αν είχατε ξεκινήσει από το CDROM, θα δείτε + το παρακάτω μήνυμα για να σας υπενθυμίσει να αφαιρέσετε το CD: + + Message + Be sure to remove the media from the drive. + + [ OK ] + [ Press enter or space ] + + Ο οδηγός CDROM θα παραμείνει κλειδωμένος μέχρι να αρχίσει η + επανεκκίνηση του μηχανήματος. Κατόπιν ξεκλειδώνει και μπορείτε + (γρήγορα) να βγάλετε το CD από τον οδηγό. Πιέστε &gui.ok; για να + επανεκκινήσετε το μηχάνημα. Το σύστημα θα επανεκκινήσει, και προσέξτε για τυχόν μηνύματα λάθους που θα εμφανιστούν.
Tom Rhodes Συνεισφορά από τον Ρύθμιση Πρόσθετων Υπηρεσιών Δικτύου Η ρύθμιση υπηρεσιών δικτύου μπορεί να είναι μια δύσκολη διαδικασία για νέους χρήστες χωρίς εμπειρία στον αντίστοιχο τομέα. Η δικτύωση, περιλαμβανομένου και του Internet, είναι κρίσιμη σε όλα τα μοντέρνα λειτουργικά συστήματα, περιλαμβανομένου και του &os;. Για το λόγο αυτό είναι χρήσιμο να έχετε κάποια κατανόηση των εκτεταμένων ικανοτήτων δικτύωσης του &os;. Κάνοντας το αυτό κατά τη διάρκεια της εγκατάστασης επιβεβαιώνεται η δυνατότητα των χρηστών να κατανοήσουν τις διάφορες υπηρεσίες που τους παρέχονται. Οι δικτυακές υπηρεσίες είναι προγράμματα που δέχονται είσοδο από οποιοδήποτε σημείο στο δίκτυο. Καταβάλλεται κάθε προσπάθεια για να είναι σίγουρο ότι τα προγράμματα αυτά δεν θα κάνουν οτιδήποτε επιζήμιο. Δυστυχώς οι προγραμματιστές δεν είναι τέλειοι και κατά καιρούς έχουν εμφανιστεί περιπτώσεις που σφάλματα σε δικτυακές υπηρεσίες έχουν γίνει αντικείμενα εκμετάλλευσης από εισβολείς για την εκτέλεση κακόβουλων πράξεων. Είναι σημαντικό να μην ενεργοποιήσετε καμιά δικτυακή υπηρεσία μέχρι να ανακαλύψετε ότι την χρειάζεστε. Μπορείτε πάντα να την ενεργοποιήσετε αργότερα, εκτελώντας ξανά την εφαρμογή sysinstall ή χρησιμοποιώντας τις δυνατότητες που παρέχονται από το αρχείο /etc/rc.conf. Με την επιλογή Networking θα δείτε ένα μενού παρόμοιο με το παρακάτω:
Ρύθμιση Δικτύου Upper-level (Ανωτέρου Επιπέδου)
Η πρώτη επιλογή, Interfaces, καλύφθηκε προηγουμένως στο , και μπορείτε με ασφάλεια να την αγνοήσετε. Επιλέγοντας AMD προστίθεται υποστήριξη για το βοηθητικό πρόγραμμα αυτόματης προσάρτησης (automatic mount) BSD. Αυτό χρησιμοποιείται συνήθως σε συνδυασμό με το πρωτόκολλο NFS (δείτε παρακάτω) για την αυτόματη προσάρτηση απομακρυσμένων συστημάτων αρχείων. Δεν απαιτείται εδώ κάποια ιδιαίτερη ρύθμιση. Αμέσως μετά βρίσκεται η επιλογή AMD Flags. Όταν την επιλέξετε θα εμφανιστεί ένα αναδυόμενο μενού για να μπορέσετε να εισάγετε συγκεκριμένες παραμέτρους (flags) για την υπηρεσία AMD. Το μενού περιέχει ήδη ένα σύνολο από προεπιλογές: -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map Η επιλογή θέτει το προεπιλεγμένο σημείο προσάρτησης (mount point) το οποίο εδώ καθορίζεται ως /.amd_mnt. Η επιλογή καθορίζει το προεπιλεγμένο αρχείο καταγραφής log. Ωστόσο όταν χρησιμοποιείται το syslogd όλες οι εργασίες καταγραφής στέλνονται στον δαίμονα καταγραφής συστήματος (system log daemon). Ο κατάλογος /host χρησιμοποιείται για την προσάρτηση ενός διαμοιρασμένου συστήματος αρχείων από ένα απομακρυσμένο κόμβο, ενώ ο κατάλογος /net χρησιμοποιείται για την προσάρτηση ενός διαμοιρασμένου συστήματος αρχείων από μια IP διεύθυνση. Το αρχείο /etc/amd.map καθορίζει τις προεπιλεγμένες επιλογές για τις προσαρτήσεις μέσω του AMD. FTP anonymous Η επιλογή Anon FTP επιτρέπει ανώνυμες συνδέσεις FTP. Επιλέξτε την για να κάνετε το μηχάνημα ανώνυμο εξυπηρετητή FTP. Θα πρέπει ωστόσο να αντιλαμβάνεστε τις επιπλοκές στην ασφάλεια που προκαλεί η επιλογή αυτή. Θα εμφανιστεί ένα ακόμα μενού για να σας εξηγήσει τις επιπλοκές ασφαλείας καθώς και τις ρυθμίσεις σε βάθος. Το μενού ρυθμίσεων Gateway θα ρυθμίσει το μηχάνημα σας να λειτουργεί ως πύλη όπως εξηγήσαμε προηγουμένως. Από εδώ επίσης μπορείτε να καταργήσετε την επιλογή Gateway αν την επιλέξατε κατά λάθος κατά τη διάρκεια της διαδικασίας εγκατάστασης. Η επιλογή Inetd μπορεί να χρησιμοποιηθεί για να ρυθμίσει ή να απενεργοποιήσει πλήρως το δαίμονα &man.inetd.8; όπως εξηγήθηκε παραπάνω. Η επιλογή Mail χρησιμοποιείται για την ρύθμιση του προεπιλεγμένου MTA ή Αντιπροσώπου Μεταφοράς Ταχυδρομείου (Mail Transfer Agent) του συστήματος. Με την επιλογή αυτή θα εμφανιστεί το παρακάτω μενού:
Επιλογή Προεπιλεγμένου MTA
Στο σημείο αυτό σας δίνεται η δυνατότητα να επιλέξετε ποιο MTA να εγκαταστήσετε και να ρυθμίσετε ως προεπιλεγμένο Το MTA δεν είναι τίποτα περισσότερο από τον διακομιστή ταχυδρομείου ο οποίος παραδίδει τα μηνύματα στους χρήστες του συστήματος ή το Internet. Αν επιλέξετε Sendmail θα εγκαταστήσετε την δημοφιλή εφαρμογή διακομιστή sendmail η οποία είναι και η προεπιλεγμένη για το &os;. Με την επιλογή Sendmail local θα ρυθμίσετε το sendmail να είναι το προεπιλεγμένο MTA, αλλά θα απενεργοποιηθεί η ικανότητα του να λαμβάνει email από το Internet. Οι άλλες επιλογές εδώ, Postfix και Exim δρουν παρόμοια με το Sendmail. Και οι δύο διανέμουν email. Ωστόσο κάποιοι χρήστες προτιμούν αυτές τις εναλλακτικές λύσεις MTA από το sendmail. Μετά την επιλογή ενός MTA, ή αν αποφασίσετε να μην επιλέξετε ένα MTA, θα εμφανιστεί το μενού ρύθμισης δικτύου, με την επόμενη επιλογή που είναι NFS client. Η επιλογή NFS client θα ρυθμίσει το σύστημα σας να επικοινωνεί με ένα εξυπηρετητή μέσω NFS. Ένας εξυπηρετητής NFS καθιστά συστήματα αρχείων διαθέσιμα προς άλλα μηχανήματα μέσω του δικτύου, χρησιμοποιώντας το πρωτόκολλο NFS. Αν το μηχάνημα σας δεν διαθέτει σύνδεση τοπικού δικτύου, μπορείτε να αφήσετε την λειτουργία αυτή αποεπιλεγμένη. Το σύστημα μπορεί να χρειαστεί περισσότερες ρυθμίσεις αργότερα. Δείτε στο για περισσότερες πληροφορίες ρύθμισης του πελάτη και του διακομιστή. Κάτω από την επιλογή αυτή υπάρχει η αντίστοιχη NFS server η οποία επιτρέπει να ρυθμίσετε το σύστημα σας ως εξυπηρετητή NFS. Προστίθενται με τον τρόπο αυτό οι απαραίτητες πληροφορίες για την εκκίνηση της υπηρεσίας RPC (remote procedure call). Το RPC χρησιμοποιείται για τον συντονισμό των συνδέσεων μεταξύ των κόμβων και των προγραμμάτων. Στην επόμενη γραμμή βρίσκεται η επιλογή Ntpdate η οποία χειρίζεται τον συγχρονισμό ώρας. Όταν επιλεχθεί, εμφανίζεται ένα μενού όπως το παρακάτω:
Ρύθμιση Ntpdate
Από το μενού αυτό, επιλέξτε τον διακομιστή που είναι πλησιέστερος στην τοποθεσία σας. Επιλέγοντας τον πλησιέστερο, ο συγχρονισμός της ώρας θα είναι πιο ακριβής, καθώς ένας απομακρυσμένος διακομιστής θα έχει ενδεχομένως μεγαλύτερη καθυστέρηση στη σύνδεση. Η επόμενη επιλογή είναι το PCNFSD. Με αυτήν θα εγκατασταθεί το πακέτο net/pcnfsd από τη συλλογή Ports. Πρόκειται για ένα χρήσιμο βοηθητικό πρόγραμμα το οποίο παρέχει υπηρεσίες πιστοποίησης (authentication) για το NFS για συστήματα που δεν έχουν δυνατότητα να παρέχουν τις δικές τους, όπως το λειτουργικό σύστημα &ms-dos; της Microsoft. Τώρα θα πρέπει να μετακινηθείτε προς τα κάτω για να δείτε τις άλλες επιλογές:
Ρύθμιση Δικτύου Lower-level (Κατώτερου Επιπέδου)
Τα προγράμματα &man.rpcbind.8;, &man.rpc.statd.8;, και &man.rpc.lockd.8; χρησιμοποιούνται όλα για Remote Procedure Calls (RPC). Το πρόγραμμα rpcbind κατευθύνει την επικοινωνία μεταξύ εξυπηρετητών και πελατών NFS και απαιτείται για τη σωστή λειτουργία των εξυπηρετητών NFS. Ο δαίμονας rpc.statd αλληλεπιδρά με το δαίμονα rpc.statd άλλων μηχανημάτων για να παρέχει πληροφορίες κατάστασης. Η κατάσταση που λαμβάνεται, συνήθως φυλάσσεται στο αρχείο /var/db/statd.status. Η επόμενη επιλογή που εμφανίζεται είναι το rpc.lockd, το οποίο αν επιλεχθεί θα παρέχει υπηρεσίες κλειδώματος αρχείων (file locking). Συνήθως χρησιμοποιείται μαζί με το rpc.statd για να παρακολουθεί ποια μηχανήματα ζητούν κλειδώματα και πόσο συχνά τα απαιτούν. Αν και οι δυο τελευταίες επιλογές είναι θαυμάσιες για εκσφαλμάτωση και αντιμετώπιση προβλημάτων, δεν απαιτούνται για τη σωστή λειτουργία των διακομιστών και πελατών NFS. Καθώς προχωράμε τη λίστα προς τα κάτω, η επόμενη επιλογή είναι το Routed, που είναι ο δαίμονας δρομολόγησης. Το πρόγραμμα &man.routed.8; διαχειρίζεται τους πίνακες δρομολόγησης του δικτύου, ανακαλύπτει δρομολογητές multicast και παρέχει, κατόπιν απαίτησης, αντίγραφα του πίνακα δρομολόγησης σε κάθε συνδεμένο στο δίκτυο κόμβο. Η χρήση του προορίζεται κυρίως για μηχανήματα τα οποία δρουν ως πύλη (gateway) σε ένα τοπικό δίκτυο. Όταν το επιλέξετε, θα εμφανιστεί ένα μενού το οποίο θα σας ζητήσει την προεπιλεγμένη τοποθεσία για το πρόγραμμα. Είναι ήδη καθορισμένη για σας, και μπορείτε να την επιλέξετε πιέζοντας το πλήκτρο Enter. Θα εμφανιστεί τότε ακόμα ένα μενού, που θα σας ζητά αυτή τη φορά τυχόν επιπλέον ρυθμίσεις (flags) που θέλετε να περάσετε στην εφαρμογή routed. Η προεπιλογή είναι το και πρέπει ήδη να φαίνεται στην οθόνη σας. Στην επόμενη γραμμή βρίσκεται η επιλογή Rwhod η οποία, όταν επιλεχθεί, θα ξεκινήσει τον δαίμονα &man.rwhod.8; κατά την εκκίνηση του συστήματος. Η εντολή rwhod εκπέμπει περιοδικά μηνύματα του συστήματος στο δίκτυο, ή και τα συλλέγει όταν είναι σε κατάσταση καταναλωτή (consumer). Μπορείτε να βρείτε περισσότερες πληροφορίες στις σελίδες βοήθειας &man.ruptime.1; και &man.rwho.1;. Η προτελευταία επιλογή στη λίστα είναι για το δαίμονα &man.sshd.8;. Πρόκειται για τον εξυπηρετητή secure shell ή OpenSSH ο οποίος συνίσταται ιδιαίτερα σε σχέση με τους στάνταρ εξυπηρετητές telnet και FTP. Ο εξυπηρετητής sshd χρησιμοποιείται για την δημιουργία ασφαλής σύνδεσης μεταξύ δύο μηχανημάτων, με τη χρήση κρυπτογραφημένων συνδέσεων. Τέλος, υπάρχει η επιλογή TCP Extensions. Αυτή επιτρέπει την χρήση των Επεκτάσεων TCP που ορίζονται στα RFC 1323 και RFC 1644. Αν και σε πολλά μηχανήματα, η χρήση τους μπορεί να επιταχύνει τις συνδέσεις, μπορεί επίσης να προκαλέσει και την κατάρρευση κάποιων από αυτές. Δεν συνίσταται για εξυπηρετητές, μπορεί όμως να είναι χρήσιμη σε ανεξάρτητα μηχανήματα. Τώρα που έχετε ρυθμίσει τις δικτυακές υπηρεσίες, μπορείτε να μετακινηθείτε στο πρώτο στοιχείο της λίστας, το Exit και να συνεχίσετε με το επόμενο τμήμα ρυθμίσεων.
Εκκίνηση του &os; Εκκίνηση &os;/&arch.i386; Αν όλα πήγαν καλά, θα δείτε μηνύματα να κυλούν στην οθόνη σας μέχρι να φτάσετε στην προτροπή εισόδου (login prompt). Μπορείτε να δείτε το περιεχόμενο των μηνυμάτων με την πίεση του πλήκτρου Scroll-Lock και χρησιμοποιώντας τα πλήκτρα PgUp και PgDn. Πιέζοντας ξανά το Scroll-Lock θα επανέλθετε στην προτροπή. Μπορεί να μην καταφέρετε να δείτε όλα τα μηνύματα (λόγω περιορισμού της προσωρινής μνήμης buffer) αλλά μπορείτε να τα δείτε μετά την είσοδο σας, με τη χρήση της εντολής dmesg στη γραμμή εντολών. Κάντε login με τη χρήση του ονόματος χρήστη και κωδικού που δημιουργήσατε κατά την εγκατάσταση (στο παράδειγμα μας, rpratt). Αποφεύγετε να εισέρχεστε ως root αν δεν είναι απαραίτητο. Τυπικά μηνύματα εκκίνησης (έχουν παραλειφθεί οι πληροφορίες έκδοσης): Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password: Η δημιουργία των κλειδιών RSA και DSA μπορεί να πάρει κάποιο χρόνο σε αργά μηχανήματα. Αυτό συμβαίνει μόνο στην πρώτη εκκίνηση ενός νέου συστήματος. Οι επόμενες εκκινήσεις θα είναι πιο γρήγορες. Αν έχετε ρυθμίσει τον X server και έχετε επιλέξει γραφικό περιβάλλον εργασίας, μπορείτε να το ξεκινήσετε δίνοντας την εντολή startx στην γραμμή εντολών. - - - Εκκίνηση &os;/&arch.alpha; - - Alpha - - Με το τέλος της διαδικασίας εγκατάστασης, θα μπορέσετε να - ξεκινήσετε το &os; γράφοντας κάτι παρόμοιο με αυτό που φαίνεται - παρακάτω στην προτροπή SRM: - - >>>BOOT DKC0 - - Με αυτές τις οδηγίες, το firmware ξεκινάει από τον επιλεγμένο - δίσκο. Για να κάνετε αυτόματη την εκκίνηση του &os; σε μελλοντικές - εκκινήσεις, δώστε αυτές τις εντολές: - - >>> SET BOOT_OSFLAGS A ->>> SET BOOT_FILE '' ->>> SET BOOTDEF_DEV DKC0 ->>> SET AUTO_ACTION BOOT - - Τα μηνύματα εκκίνησης θα είναι όμοια (αλλά όχι ολόιδια) με τα - αντίστοιχα μηνύματα του &os; στον &i386;. - Τερματισμός του &os; Είναι πολύ σημαντικό να τερματίζετε σωστά το λειτουργικό σύστημα. Μην σβήνετε απλώς τον υπολογιστή από το διακόπτη ρεύματος. Πρώτα από όλα, γίνετε υπερχρήστης (superuser) χρησιμοποιώντας την εντολή su στη γραμμή εντολών και δίνοντας τον κωδικό του root. Αυτό μπορεί να γίνει μόνο αν ο χρήστης ανήκει στην ομάδα wheel. Διαφορετικά, κάντε κανονικά login σαν root και χρησιμοποιήστε την εντολή shutdown -h now. The operating system has halted. Please press any key to reboot. Είναι ασφαλές να διακόψετε την τροφοδοσία αφού δώσετε την εντολή shutdown και δείτε το μήνυμα Please press any key to reboot. Αν πιέσετε οποιοδήποτε πλήκτρο αντί να διακόψετε την τροφοδοσία, το σύστημα θα επανεκκινήσει. Μπορείτε επίσης να χρησιμοποιήσετε το συνδυασμό πλήκτρων Ctrl Alt Del για να επανεκκινήσετε το σύστημα, ωστόσο αυτό δεν συνίσταται κατά τη διάρκεια της κανονικής λειτουργίας.
Αντιμετώπιση Προβλημάτων installation troubleshooting Το επόμενο τμήμα καλύπτει βασική αντιμετώπιση προβλημάτων κατά την εγκατάσταση, με βάση συνηθισμένα προβλήματα που έχουν αναφερθεί από χρήστες. Υπάρχουν επίσης μερικές ερωτήσεις και απαντήσεις για όσους ενδιαφέρονται να δημιουργήσουν σύστημα dual-boot του &os; με το &ms-dos;. Τι να Κάνετε αν Κάτι Πάει Στραβά Λόγω των διάφορων περιορισμών της αρχιτεκτονικής του PC, δεν είναι δυνατόν η ανίχνευση συσκευών να είναι 100% αξιόπιστη, ωστόσο υπάρχουν κάποια πράγματα που μπορείτε να κάνετε αν αποτύχει. Ελέγξτε το έγγραφο Σημειώσεων Υλικού (Hardware Notes) για την έκδοση του &os; που έχετε, για να σιγουρευτείτε ότι το υλικό σας υποστηρίζεται. Αν το υλικό σας υποστηρίζεται, αλλά πάλι αντιμετωπίζετε κολλήματα ή άλλα προβλήματα, θα χρειαστεί να δημιουργήσετε εξειδικευμένο πυρήνα. Θα μπορέσετε με τον τρόπο αυτό να προσθέσετε υποστήριξη για συσκευές που δεν υπάρχουν στο πυρήνα GENERIC. Ο πυρήνας στις δισκέτες εκκίνησης είναι ρυθμισμένος υποθέτοντας ότι οι περισσότερες συσκευές υλικού είναι στις εργοστασιακές τους ρυθμίσεις, όσο αφορά τα IRQs, τις διευθύνσεις IO και τα DMA κανάλια. Αν έχετε αλλάξει τις ρυθμίσεις αυτές στο σύστημα σας, θα χρειαστεί κατά πάσα πιθανότητα, να αλλάξετε το αρχείο ρυθμίσεων και να μεταγλωττίσετε ξανά τον πυρήνα για να οδηγήσετε το &os; να τις βρει. Είναι επίσης πιθανόν η ανίχνευση για μια συσκευή που δεν υπάρχει, να οδηγήσει σε αποτυχία μια μεταγενέστερη ανίχνευση για μια άλλη συσκευή. Στην περίπτωση αυτή, θα πρέπει να απενεργοποιηθεί η ανίχνευση για την συσκευή που δημιουργεί το πρόβλημα. Κάποια προβλήματα εγκατάστασης μπορεί να αποφευχθούν ή να εξαλειφθούν αν ανανεώσετε το firmware σε διάφορες συσκευές υλικού, και κατά κύριο λόγο της μητρικής. Το firmware της μητρικής αναφέρεται επίσης ως BIOS και οι περισσότεροι κατασκευαστές μητρικών ή υπολογιστών διαθέτουν δικτυακό τόπο στον οποίο μπορείτε να βρείτε πληροφορίες για αναβαθμίσεις ή ανανεώσεις. Οι περισσότεροι κατασκευαστές δεν συνιστούν την αναβάθμιση του BIOS της μητρικής αν δε συντρέχει σοβαρός λόγος, καθώς η αναβάθμιση μπορεί να είναι μια κρίσιμη διαδικασία. Η διαδικασία αναβάθμισης μπορεί να πάει στραβά, και να προκληθεί μόνιμη ζημιά στο κύκλωμα του BIOS. Χρησιμοποιώντας Συστήματα Αρχείων &ms-dos; και &windows; Τη δεδομένη στιγμή, το &os; δεν υποστηρίζει συστήματα αρχείων που είναι συμπιεσμένα με την εφαρμογή Double Space™. Για το λόγο αυτό θα πρέπει να τα αποσυμπιέσετε ώστε το &os; να έχει πρόσβαση στα δεδομένα. Αυτό μπορεί να γίνει εκτελώντας την εφαρμογή Compression Agent που βρίσκεται στο μενού Start (Έναρξη)> Programs (Προγράμματα) > System Tools (Εργαλεία Συστήματος). Το &os; μπορεί να υποστηρίξει συστήματα αρχείων τύπου &ms-dos; (ορισμένες φορές αναφέρονται και ως FAT). Η εντολή &man.mount.msdosfs.8; μπορεί να προσαρτήσει αυτά τα συστήματα αρχείων σε κάποιο ήδη υπάρχον κατάλογο, επιτρέποντας έτσι την πρόσβαση στα περιεχόμενα τους. Δεν συνηθίζεται να γίνεται άμεσα κλήση του προγράμματος &man.mount.msdosfs.8;. Συνήθως, καλείται από το σύστημα μέσω μιας γραμμής στο αρχείο /etc/fstab ή με κλήση του βοηθητικού προγράμματος &man.mount.8; με τις απαραίτητες παραμέτρους. Μια τυπική ρύθμιση στο αρχείο /etc/fstab είναι η παρακάτω: /dev/ad0sN /dos msdosfs rw 0 0 Για να δουλέψει το παραπάνω, ο κατάλογος /dos θα πρέπει να υπάρχει ήδη. Για λεπτομέρειες σχετικά με τη μορφή των καταχωρήσεων στο αρχείο /etc/fstab, δείτε τη σελίδα manual &man.fstab.5;. Παρακάτω φαίνεται μια τυπική κλήση στην &man.mount.8; για την προσάρτηση ενός συστήματος αρχείων &ms-dos;: &prompt.root; mount -t msdosfs /dev/ad0s1 /mnt Στο παράδειγμα αυτό, το σύστημα αρχείων του &ms-dos; είναι στην πρώτη κατάτμηση του σκληρού δίσκου. Η δική σας περίπτωση μπορεί να είναι διαφορετική, ελέγξτε το αποτέλεσμα των εντολών dmesg και mount. Οι πληροφορίες από αυτές τις εντολές πρέπει να είναι αρκετές για να πάρετε μια ιδέα της διάταξης των κατατμήσεων. Το &os; ίσως να αριθμήσει τα slices του δίσκου (που στο &ms-dos; καλούνται κατατμήσεις) διαφορετικά από άλλα λειτουργικά συστήματα. Ειδικότερα, τα εκτεταμένα (extended) διαμερίσματα &ms-dos; παίρνουν συνήθως μεγαλύτερη αρίθμηση από τα πρωτεύοντα διαμερίσματα του &ms-dos;. Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα &man.fdisk.8; για να αναγνωρίσετε ποιες κατατμήσεις ανήκουν στο &os;, και ποιες σε άλλα λειτουργικά συστήματα. Μπορείτε επίσης να προσαρτήσετε NTFS κατατμήσεις με παρόμοιο τρόπο, με τη χρήση της εντολής &man.mount.ntfs.8;. Ερωτήσεις και Απαντήσεις Αντιμετώπισης Προβλημάτων Το σύστημα μου κρεμάει κατά την αναγνώριση υλικού στη διάρκεια της εκκίνησης ή συμπεριφέρεται περίεργα κατά τη διάρκεια της εγκατάστασης ή δεν ανιχνεύεται η μονάδα δισκέτας. Στο &os; γίνεται εκτεταμένη χρήση του ACPI (εφόσον ανιχνευθεί στην εκκίνηση) στις πλατφόρμες i386, amd64 και ia64 για διευκόλυνσης της ρύθμισης υλικού. Δυστυχώς υπάρχουν ακόμα κάποια προβλήματα τόσο στο πρόγραμμα οδήγησης του ACPI όσο και στα BIOS και τις μητρικές. Μπορείτε να απενεργοποιήσετε το ACPI, με την ρύθμιση hint.acpi.0.disabled στο τρίτο στάδιο του συστήματος εκκίνησης (boot loader): set hint.acpi.0.disabled="1" Η ρύθμιση αυτή χάνεται σε κάθε επανεκκίνηση, και έτσι είναι απαραίτητο να προσθέσετε hint.acpi.0.disabled="1" στο αρχείο /boot/loader.conf. Περισσότερες πληροφορίες για τον boot loader μπορείτε να βρείτε στο . Κατάφερα να ξεκινήσω από το σκληρό δίσκο για πρώτη φορά μετά την εγκατάσταση του &os;, ο πυρήνας φορτώνει και ανιχνεύει το υλικό μου, αλλά σταματάει με μηνύματα όπως: changing root device to ad1s1a panic: cannot mount root Τι είναι λάθος; Τι μπορώ να κάνω; Τι είναι το μήνυμα bios_drive:interface(unit,partition)kernel_name που εμφανίζεται στη βοήθεια της εκκίνησης; Υπάρχει από παλιά ένα πρόβλημα όταν ο σκληρός δίσκος από τον οποίο γίνεται η εκκίνηση δεν είναι ο πρώτος δίσκος του συστήματος. Το BIOS χρησιμοποιεί διαφορετικό σύστημα αρίθμησης από το &os; και η εύρεση του σωστού αριθμού για κάθε συσκευή είναι δύσκολη. Στην περίπτωση που ο δίσκος εκκίνησης δεν είναι ο πρώτος δίσκος του συστήματος, το &os; μπορεί να χρειαστεί κάποια βοήθεια για να τον βρει. Υπάρχουν δύο συνηθισμένες περιπτώσεις, αλλά και στις δύο πρέπει να πείτε στο &os; που θα βρει το ριζικό (root) σύστημα αρχείων. Αυτό γίνεται ορίζοντας τον αριθμό του δίσκου σύμφωνα με το BIOS, τον τύπο του δίσκου, και τον αριθμό του δίσκου στο &os; ανάλογα με τον τύπο του. Η πρώτη περίπτωση είναι αν έχετε δύο δίσκους IDE, καθένας ορισμένος ως master στο αντίστοιχο IDE κανάλι, και θέλετε να ξεκινήσετε το &os; από το δεύτερο δίσκο. Το BIOS τους βλέπει ως δίσκους 0 και 1, ενώ το &os; τους βλέπει ως ad0 και ad2. Το &os; βρίσκεται στο δίσκο 1 του BIOS, τύπου ad ενώ στο &os; φαίνεται ως δίσκος 2, άρα πρέπει να δώσετε: 1:ad(2,a)kernel Σημειώστε ότι αν έχετε δίσκο slave στο πρωτεύον κανάλι, το παραπάνω δεν είναι απαραίτητο (και είναι ουσιαστικά λάθος). Η δεύτερη περίπτωση περιλαμβάνει την εκκίνηση από δίσκο SCSI, όταν έχετε επίσης ένα ή περισσότερους IDE δίσκους στο σύστημα. Στην περίπτωση αυτή ο αριθμός του δίσκου στο &os; είναι χαμηλότερος από τον αντίστοιχο του BIOS. Αν έχετε δύο δίσκους IDE και το SCSI δίσκο, ο SCSI δίσκος φαίνεται στο BIOS ως δίσκος 2, τύπου da και αναγνωρίζεται στο &os; ως δίσκος 0, θα γράφατε: 2:da(0,a)kernel Για να πείτε στο &os; ότι θέλετε να εκκινήσετε από τον δίσκο 2 του BIOS που είναι ο πρώτος SCSI δίσκος του συστήματος. Αν είχατε ένα μόνο IDE δίσκο, θα χρησιμοποιούσατε το 1: αντί για 2:. Μόλις βρείτε τις σωστές τιμές, μπορείτε να βάλετε την εντολή, ακριβώς όπως θα τη γράφατε, στο αρχείο /boot.config χρησιμοποιώντας ένα συνηθισμένο επεξεργαστή κειμένου. Αν δεν ορίσετε διαφορετικά, το &os; θα χρησιμοποιεί τα περιεχόμενα του αρχείου αυτού ως προεπιλογή στην προτροπή boot:. Ξεκίνησα από το σκληρό δίσκο για πρώτη φορά μετά την εγκατάσταση του &os;, αλλά ο Διαχειριστής Εκκίνησης (Boot Manager) τυπώνει απλώς F? κάθε φορά στο μενού εκκίνησης και δεν συνεχίζει περισσότερο. Δεν ρυθμίσατε σωστά τη γεωμετρία του σκληρού δίσκου στον επεξεργαστή κατατμήσεων όταν εγκαταστήσατε το &os;. Πηγαίνετε ξανά στον επεξεργαστή κατατμήσεων και ορίστε τη σωστή γεωμετρία του σκληρού σας δίσκου. Πρέπει να επανεγκαταστήσετε το &os; από την αρχή, με τη σωστή γεωμετρία. Αν δεν μπορείτε να βρείτε με κανένα τρόπο τη σωστή γεωμετρία για το μηχάνημα σας, δοκιμάστε τον ακόλουθο τρόπο: Δημιουργήστε μια μικρή κατάτμηση DOS στην αρχή του δίσκου, και εγκαταστήστε το &os; μετά από αυτό. Το πρόγραμμα εγκατάστασης θα δει την κατάτμηση του DOS και θα προσπαθήσει να ανιχνεύσει από αυτήν την σωστή γεωμετρία, κάτι το οποίο συνήθως πετυχαίνει. Δεν σας συνιστούμε να ακολουθήσετε το παρακάτω, αλλά το αφήσαμε εδώ απλώς ως αναφορά:
Αν φτιάχνετε ένα μηχάνημα desktop ή εξυπηρετητή για αποκλειστική χρήση από το &os; και δεν σας ενδιαφέρει πιθανή (μελλοντική) συμβατότητα με DOS, Linux ή άλλο λειτουργικό σύστημα, έχετε επίσης την επιλογή να χρησιμοποιήσετε ολόκληρο το δίσκο (πιέζοντας το A στον επεξεργαστή κατατμήσεων), και επιλέγοντας τη μη-στάνταρ επιλογή όπου το &os; καταλαμβάνει ολόκληρο το δίσκο από τον πρώτο ως τον τελευταίο τομέα. Με τον τρόπο αυτό εξαλείφονται όλα τα προβλήματα που αναφέρονται στη γεωμετρία, αλλά υπάρχουν κάποιοι περιορισμοί, εκτός αν δεν πρόκειται ποτέ να χρησιμοποιήσετε οποιοδήποτε άλλο λειτουργικό εκτός από &os; στο συγκεκριμένο δίσκο.
Το σύστημα ανιχνεύει την κάρτα δικτύου μου &man.ed.4;, αλλά παίρνω συνέχεια μηνύματα λάθους (device timeout). Η κάρτα σας είναι πιθανώς σε διαφορετικό IRQ από αυτό που έχει ορισθεί στο αρχείο /boot/device.hints Το πρόγραμμα οδήγησης &man.ed.4;, από προεπιλογή, δεν χρησιμοποιεί τις ρυθμίσεις που ενδεχομένως έχετε κάνει στην κάρτα μέσω του προγράμματος ρύθμισης που παρέχει ο κατασκευαστής (soft configuration, τις τιμές που δώσατε μέσω EZSETUP στο DOS). Ωστόσο θα τις χρησιμοποιήσει αν ορίσετε την τιμή -1 στα hints της συσκευής. Είτε μετακινήστε το βραχυκυκλωτήρα (jumper) πάνω στην κάρτα ώστε να δώσετε χειροκίνητες (hard) ρυθμίσεις (αλλάζοντας και τις ρυθμίσεις του πυρήνα αν αυτό είναι απαραίτητο), ή αλλάξτε το IRQ στην τιμή -1 ρυθμίζοντας το hint hint.ed.0.irq="-1". Με τον τρόπο αυτό, ο πυρήνας θα χρησιμοποιήσει τις ρυθμίσεις που κάνατε μέσω του προγράμματος EZSETUP. Μια άλλη πιθανότητα είναι η κάρτα σας να χρησιμοποιεί το IRQ 9 το οποίο είναι κοινό με το IRQ 2 και αποτελεί συχνά πηγή προβλημάτων (ειδικά αν έχετε κάρτα γραφικών που χρησιμοποιεί το IRQ 2!). Προσπαθήστε, αν είναι δυνατόν, να αποφύγετε εντελώς τη χρήση των IRQ 2 ή 9. color contrast Όταν χρησιμοποιείται το sysinstall σε ένα τερματικό X11, η κίτρινη γραμματοσειρά πάνω στο ανοιχτό γκρι φόντο είναι δυσανάγνωστη. Υπάρχει τρόπος να βελτιωθεί η αντίθεση σε αυτή την εφαρμογή; Αν έχετε ήδη εγκατεστημένο το X11, και τα προεπιλεγμένα χρώματα του sysinstall κάνουν το κείμενο δυσανάγνωστο στο &man.xterm.1; ή το &man.rxvt.1;, προσθέστε το παρακάτω στο ~/.Xdefaults για να δημιουργήσετε ένα πιο σκούρο γκρι φόντο: XTerm*color7:#c0c0c0
Valentino Vaschetto Συνεισφορά από τον + + + + Marc + Fonvieille + Ανανεώθηκε από τον + + + Οδηγός Εγκατάστασης για Προχωρημένους Το τμήμα αυτό περιγράφει πως να εγκαταστήσετε το &os; σε ιδιαίτερα μηχανήματα ή / και με μη συνηθισμένους τρόπους. Εγκαθιστώντας το &os; σε ένα Σύστημα χωρίς Οθόνη ή Πληκτρολόγιο installation headless (serial console) serial console Το είδος αυτό της εγκατάστασης ονομάζεται headless install (ακέφαλη εγκατάσταση), επειδή το μηχάνημα στο οποίο εγκαθίσταται το &os; είτε δεν έχει συνδεμένη οθόνη, είτε δεν έχει καν έξοδο VGA. Αν αναρωτιέστε πως είναι πιθανό κάτι τέτοιο, γίνεται με την χρήση σειριακής κονσόλας. Η σειριακή κονσόλα βασικά χρησιμοποιεί ένα άλλο μηχάνημα το οποίο δρα ως κύρια οθόνη και πληκτρολόγιο για το σύστημα. Για το σκοπό αυτό, απλώς ακολουθήστε τα βήματα για την - δημιουργία δισκετών εγκατάστασης, όπως εξηγείται στο - . + δημιουργία μιας USB μνήμης flash, όπως εξηγείται στο + ή κατεβάστε το σωστό αρχείο ISO + για την εγκατάσταση (δείτε το ). - Έπειτα, για να μετατρέψετε τις δισκέτες αυτές ώστε να ξεκινάνε - σε σειριακή κονσόλα, ακολουθήστε τα επόμενα βήματα: + Έπειτα, για να μετατρέψετε το μέσο εγκατάστασης ώστε να ξεκινά σε + σε σειριακή κονσόλα, ακολουθήστε τα επόμενα βήματα (αν πρόκειται να + χρησιμοποιήσετε CDROM, μπορείτε να παραλείψετε το πρώτο βήμα): - Δημιουργία Δισκετών Εκκίνησης για Σειριακή Κονσόλα + Δημιουργία USB Μνήμης Flash για Σειριακή Κονσόλα mount - Αν επρόκειτο να εκκινήσετε από τις δισκέτες που μόλις + Αν επρόκειτο να εκκινήσετε από το USB flash που μόλις φτιάξατε, το &os; θα ξεκίναγε στην κανονική κατάσταση εγκατάστασης. Θέλουμε το &os; να ξεκινήσει σε σειριακή κονσόλα για την εγκατάσταση μας. Για να το κάνετε αυτό, θα πρέπει να - προσαρτήσετε (mount) το boot.flp στο &os; - σύστημα σας, χρησιμοποιώντας την εντολή &man.mount.8;. + προσαρτήσετε το USB flash στο &os; σύστημα σας, χρησιμοποιώντας + την εντολή &man.mount.8;. - &prompt.root; mount /dev/fd0 /mnt + &prompt.root; mount /dev/da0a /mnt - Τώρα που έχετε προσαρτήσει τη δισκέτα, πρέπει να πάτε στον - κατάλογο /mnt: + + Προσαρμόστε κατάλληλα το όνομα της συσκευής και το σημείο + προσάρτησης, ανάλογα με το σύστημα σας. + - &prompt.root; cd /mnt + Τώρα που έχετε προσαρτήσει τη μνήμη USB, θα πρέπει να τη + ρυθμίσετε ώστε να εκκινεί στη σειριακή κονσόλα. Θα πρέπει να + προσθέσετε μια γραμμή στο αρχείο loader.conf + που περιέχεται στο σύστημα αρχείων της USB μνήμης, ώστε να + ορίσετε τη σειριακή κονσόλα ως κονσόλα συστήματος: - Εδώ πρέπει πλέον να ρυθμίσετε την δισκέτα ώστε να ξεκινάει - η σειριακή κονσόλα. Πρέπει να δημιουργήσετε ένα αρχείο που - ονομάζεται boot.config και περιέχει το - /boot/loader -h. Το μόνο που κάνει αυτό, - είναι να περνάει μια παράμετρο (flag) στο boot loader ώστε η - εκκίνηση να γίνεται σε σειριακή κονσόλα. + &prompt.root; echo 'console="comconsole"' >> /mnt/boot/loader.conf - &prompt.root; echo "/boot/loader -h" > boot.config - - Τώρα που έχετε ρυθμίσει σωστά τη δισκέτα, πρέπει να την + Τώρα που έχετε ρυθμίσει σωστά τη μνήμη USB, πρέπει να την αποπροσαρτήσετε, χρησιμοποιώντας την εντολή &man.umount.8;: - &prompt.root; cd / -&prompt.root; umount /mnt + &prompt.root; umount /mnt + + Μπορείτε τώρα να αφαιρέσετε τη μνήμη USB. Συνεχίστε με τις + παρακάτω οδηγίες, ξεκινώντας από το τρίτο βήμα. + + + + Ενεργοποίηση της Σειριακής Κονσόλας μέσω του CD + Εγκατάστασης + + mount + - Μπορείτε τώρα να αφαιρέσετε τη δισκέτα από τον οδηγό. + Αν επρόκειτο να εκκινήσετε από το CD που δημιουργήσατε από + το ISO αρχείο που κατεβάσατε (δείτε το ), το &os; θα ξεκινούσε κανονικά + και θα χρησιμοποιούσε τη συνήθη μέθοδο εγκατάστασης. Θέλουμε + ωστόσο να ξεκινήσουμε σε κατάσταση σειριακής κονσόλας για την + εγκατάσταση. Για να γίνει αυτό, θα πρέπει να εξάγουμε τα + αρχεία που περιέχει το ISO, να αλλάξουμε κάποια από αυτά και + να το αναδημιουργήσουμε πριν το γράψουμε σε κανονικό CD. + + Στο &os; σύστημα που έχετε αποθηκεύσει το αρχικό ISO, π.χ. + &os;-8.1-RELEASE-i386-disc1.iso + χρησιμοποιήστε την εντολή &man.tar.1; για να κάνετε εξαγωγή των + αρχείων που περιέχει: + + &prompt.root; mkdir /path/to/headless-iso +&prompt.root; tar -C /path/to/headless-iso -pxvf &os;-8.1-RELEASE-i386-disc1.iso + + Θα πρέπει τώρα να αλλάξουμε το μέσο εγκατάστασης ώστε να + ξεκινάει σε σειριακή κονσόλα. Θα πρέπει να προσθέσετε μια + γραμμή στο αρχείο loader.conf που + ανακτήσατε από το αρχείο ISO, ώστε να ενεργοποιήσετε την + σειριακή κονσόλα ως κονσόλα συστήματος: + + &prompt.root; echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf + + Μπορούμε έπειτα να δημιουργήσουμε ένα νέο αρχείο ISO που + να περιλαμβάνει τις τροποποιήσεις μας. Για το σκοπό αυτό θα + χρησιμοποιήσουμε το εργαλείο &man.mkisofs.8; το οποίο + περιλαμβάνεται στο port sysutils/cdrtools: + + &prompt.root; mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \ + -o Headless-&os;-8.1-RELEASE-i386-disc1.iso /path/to/headless-iso + + Μπορείτε τώρα να γράψετε το νέο αρχείο ISO σε CD, + χρησιμοποιώντας την εφαρμογή εγγραφής που προτιμάτε. Συνδέοντας Καλώδιο Τύπου Null-modem null-modem cable Χρειάζεται τώρα να συνδέσετε ένα καλώδιο τύπου null-modem μεταξύ των δύο μηχανημάτων. Απλώς συνδέστε το καλώδιο στις σειριακές πόρτες των δύο μηχανημάτων. Δεν πρόκειται να δουλέψει κανονικό σειριακό καλώδιο, χρειάζεται καλώδιο τύπου null modem, όπου κάποια από τα ζεύγη καλωδίων διασταυρώνονται εσωτερικά. Εκκίνηση για την Εγκατάσταση - Έχει έρθει η ώρα να προχωρήσουμε στην εγκατάσταση. Βάλτε τη - δισκέτα boot.flp στον οδηγό του μηχανήματος - που θέλετε να εγκαταστήσετε χωρίς οθόνη/πληκτρολόγιο, και - ενεργοποιήστε το. + Έχει έρθει η ώρα να προχωρήσουμε στην εγκατάσταση. Συνδέστε + τη USB μνήμη flash στο μηχάνημα που θέλετε να εγκαταστήσετε χωρίς + οθόνη και πληκτρολόγιο και ενεργοποιήστε το. Αν πρόκειται να + χρησιμοποιήσετε το CD που ετοιμάσατε, ενεργοποιήστε το μηχάνημα + και τοποθετήστε το CD στον οδηγό CDROM. Συνδεθείτε με το Headless Μηχάνημα cu Θα πρέπει τώρα να συνδεθείτε με το μηχάνημα σας, χρησιμοποιώντας την &man.cu.1;: - &prompt.root; cu -l /dev/cuad0 + &prompt.root; cu -l /dev/cuau0 + + Στο &os; 7.X χρησιμοποιήστε την παρακάτω εντολή: + &prompt.root; cu -l /dev/cuad0 Αυτό είναι! Μπορείτε τώρα να ελέγξετε το headless μηχάνημα μέσω - της σύνδεσης cu. Θα σας ζητήσει να βάλετε την - δισκέτα kern1.flp, και θα σας ζητήσει κατόπιν - να επιλέξετε το είδος του τερματικού που θα χρησιμοποιηθεί. Επιλέξτε - την έγχρωμη κονσόλα (&os; color console) και συνεχίστε με την - εγκατάσταση σας. + της σύνδεσης cu. Μετά τη φόρτωση του πυρήνα, + θα σας ζητηθεί να επιλέξετε το είδος του τερματικού που θα + χρησιμοποιηθεί. Επιλέξτε την έγχρωμη κονσόλα (&os; color console) + και συνεχίστε με την εγκατάσταση σας. Προετοιμάζοντας τα Δικά σας Μέσα Εγκατάστασης Για να αποφύγουμε την επανάληψη, λέγοντας &os; CD-ROM στο τμήμα αυτό, εννοούμε ένα CD-ROM ή DVD του &os; που έχετε αγοράσει ή δημιουργήσει μόνος σας. Υπάρχουν κάποιες περιπτώσεις στις οποίες χρειάζεται να δημιουργήσετε τα δικά σας μέσα ή πηγές εγκατάστασης του &os;. Μπορεί να είναι φυσικά μέσα, όπως για παράδειγμα μια ταινία, ή πηγές που μπορεί να χρησιμοποιήσει το sysinstall για να ανακτήσει τα αρχεία, όπως π.χ. μια τοπική τοποθεσία FTP, ή μια κατάτμηση &ms-dos; Για παράδειγμα: Έχετε πολλά μηχανήματα συνδεμένα στο τοπικό σας δίκτυο, και ένα μόνο CD-ROM του &os;. Θέλετε να δημιουργήσετε μια τοπική τοποθεσία FTP χρησιμοποιώντας τα περιεχόμενα του &os; CD-ROM, και έπειτα να ρυθμίσετε τα μηχανήματα σας να χρησιμοποιούν αυτό το FTP site αντί για να συνδέονται στο Internet. Έχετε ένα CD-ROM του &os; αλλά το &os; δεν αναγνωρίζει το οδηγό σας CD/DVD, ενώ το &ms-dos;/&windows; το αναγνωρίζει. Θέλετε να αντιγράψετε τα αρχεία του &os; σε μια κατάτμηση DOS στο ίδιο μηχάνημα και να εγκαταστήσετε το &os; χρησιμοποιώντας αυτά τα αρχεία. Ο υπολογιστής που θέλετε να εγκαταστήσετε δεν έχει οδηγό CD/DVD ή κάρτα δικτύου, αλλά μπορείτε να συνδέσετε ένα σειριακό ή παράλληλο καλώδιο τύπου Laplink προς ένα υπολογιστή που διαθέτει. Θέλετε να δημιουργήσετε μια ταινία, που μπορεί να χρησιμοποιηθεί για την εγκατάσταση του &os;. Δημιουργώντας ένα CD-ROM Εγκατάστασης Ως τμήμα κάθε έκδοσης, το &os; project δημιουργεί δύο εικόνες CD-ROM (ISO image). Οι εικόνες αυτές μπορούν να γραφούν σε CD αν έχετε εγγραφέα CD-ROM, και ακολούθως να χρησιμοποιηθούν για την εγκατάσταση του &os;. Αν έχετε εγγραφέα CD-ROM και γρήγορη σύνδεση στο Internet, αυτός είναι ο ευκολότερος τρόπος να εγκαταστήσετε το &os;. Κατεβάστε τα Σωστά ISO Images Μπορείτε να κατεβάσετε τα ISO images για κάθε έκδοση από την τοποθεσία ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version ή το πλησιέστερο σε σας mirror. Υποκαταστήστε το arch και version όπως απαιτείται. Ο κατάλογος θα περιέχει φυσιολογικά τα ακόλουθα images: - Ονοματολογία και Επεξηγήσεις των ISO Images για FreeBSD 6.<replaceable>X</replaceable> και 7.<replaceable>X</replaceable> + Ονοματολογία και Επεξηγήσεις των ISO Images για FreeBSD 7.<replaceable>X</replaceable> και 8.<replaceable>X</replaceable> Όνομα Αρχείου - Περιέχει + Περιεχόμενα - version-RELEASE-arch-bootonly.iso + &os;-version-RELEASE-arch-bootonly.iso + + Αυτό το αρχείο ISO σας επιτρέπει να εκκινήσετε την + εγκατάσταση μέσω CDROM, αλλά δεν περιέχει τη δυνατότητα + να εγκαταστήσετε το &os; μόνο μέσω του CD. Θα πρέπει + να κάνετε εγκατάσταση μέσω δικτύου (π.χ. μέσω ενός + εξυπηρετητή FTP) μετά την εκκίνηση από το CD. + - Τα αρχεία που απαιτούνται για να εκκινήσετε με - πυρήνα &os; και να ξεκινήσετε το πρόγραμμα εγκατάστασης. - Τα υπόλοιπα αρχεία της εγκατάστασης θα πρέπει να τα - πάρετε μέσω FTP ή κάποιας άλλης υποστηριζόμενης πηγής. - + + &os;-version-RELEASE-arch-dvd1.iso.gz + + Αυτό το αρχείο ISO, μεγέθους DVD, περιέχει όλα + τα απαιτούμενα αρχεία για την εγκατάσταση ενός βασικού + συστήματος &os;, καθώς και μια συλλογή από έτοιμα + πακέτα και τεκμηρίωση. Υποστηρίζει επίσης εκκίνηση + σε κατάσταση livefs η οποία είναι χρήσιμη + σε περίπτωση που θέλετε να διορθώσετε προβλήματα κάποιας + υπάρχουσας εγκατάστασης. + + &os;-version-RELEASE-arch-memstick.img + + Μπορείτε να γράψετε αυτή την εικόνα σε μια USB μνήμη + flash και να τη χρησιμοποιήσετε για να εγκαταστήσετε + &os; σε μηχανήματα που υποστηρίζουν εκκίνηση από οδηγούς + USB. Υποστηρίζεται επίσης εκκίνηση σε κατάσταση + livefs. Περιέχει τα πακέτα της + τεκμηρίωσης, αλλά δεν περιέχει άλλα πακέτα προς + εγκατάσταση. Το αρχείο αυτό δεν διατίθεται για + &os; 7.3 και προηγούμενες εκδόσεις. + + - version-RELEASE-arch-disc1.iso - - Τα αρχεία που απαιτούνται για την εγκατάσταση του - &os; και ένα σύστημα αρχείων για λειτουργία από CD-ROM - (live filesystem), το οποίο - χρησιμοποιείται σε συνδυασμό με την δυνατότητα - Repair στην εφαρμογή - sysinstall. + &os;-version-RELEASE-arch-disc1.iso + + Το ISO αυτό περιέχει το βασικό σύστημα του &os; και + τα πακέτα της τεκμηρίωσης. Δεν περιέχει άλλα πακέτα + προς εγκατάσταση. - version-RELEASE-arch-disc2.iso + &os;-version-RELEASE-arch-disc2.iso - Όσα πακέτα εφαρμογών τρίτου κατασκευαστή χωράνε στο - CD-ROM. + Αυτό το ISO περιέχει όσο πακέτα εφαρμογών μπορούν + να χωρέσουν στο διαθέσιμο χώρο του. Δεν διατίθεται για + &os; 8.0 και μεταγενέστερες εκδόσεις. - version - -RELEASE-arch-docs.iso - + &os;-version-RELEASE-arch-disc3.iso + + Ακόμα ένα ISO το οποίο περιέχει όσα πακέτα μπορούν + να χωρέσουν στο διαθέσιμο χώρο του. Δεν διατίθεται για + &os; 8.0 και μεταγενέστερες εκδόσεις. + + + + version-RELEASE-arch-docs.iso - Τεκμηρίωση του &os;. + H τεκμηρίωση του &os;. + + + &os;-version-RELEASE-arch-livefs.iso + + Αυτό το ISO παρέχει υποστήριξη για εκκίνηση σε + κατάσταση livefs (για λειτουργίες + ανάκτησης) αλλά δεν υποστηρίζει εγκατάσταση του + λειτουργικού από αυτό. +
- Θα πρέπει να κατεβάσετε είτε ένα από τα - bootonly ISO (αν είναι διαθέσιμα) είτε το image του πρώτου CD-ROM - (disc one). Μην κατεβάσετε και τα δύο, μια και το image του - πρώτου CD-ROM, περιέχει όλα τα περιεχόμενα του - bootonly ISO. - - Χρησιμοποιήστε το bootonly ISO αν έχετε φθηνή και γρήγορη - πρόσβαση στο Internet. Μπορείτε έτσι να εγκαταστήσετε το &os; και - να κατεβάσετε εφαρμογές τρίτου κατασκευαστή με τη χρήση του - συστήματος ports/packages (δείτε ) - όπως απαιτούνται. - - Χρησιμοποιήστε το image του πρώτου CD-ROM αν θέλετε να + + Οι εκδόσεις του κλάδου 7.X πριν από το &os; 7.3 και + οι εκδόσεις του κλάδου 8.Χ πριν από το &os; 8.1 + χρησιμοποιούσαν διαφορετική ονοματολογία αρχείων. Το όνομα + του αρχείου σε αυτές τις εκδόσεις δεν ξεκινάει με + &os;-. + + + Θα πρέπει να κατεβάσετε είτε το + bootonly ISO (αν είναι διαθέσιμο) είτε το + disc1. Μην κατεβάσετε και τα δύο, καθώς το + disc1 περιέχει τα πάντα που περιέχει και το + bootonly. + + Χρησιμοποιήστε το bootonly αν έχετε + φθηνή και γρήγορη πρόσβαση στο Internet. Θα σας επιτρέψει να + εγκαταστήσετε το &os; και μπορείτε έπειτα να εγκαταστήσετε + εφαρμογές τρίτων κατασκευαστών που χρειάζεστε, κατεβάζοντας τις + μέσω του συστήματος πακέτων και ports (δείτε το ). + + Χρησιμοποιήστε το dvd1 αν θέλετε να εγκαταστήσετε μια έκδοση του &os; και θέλετε ταυτόχρονα να έχετε - στο ίδιο CD-ROM και μια σεβαστή συλλογή από πακέτα τρίτου + στο ίδιο DVD και μια σεβαστή συλλογή από πακέτα τρίτου κατασκευαστή. Τα πρόσθετα CD-ROM είναι χρήσιμα αλλά όχι απαραίτητα, ειδικά αν έχετε πρόσβαση υψηλής ταχύτητας στο Internet.
Γράψτε τα CD Πρέπει κατόπιν να γράψετε τις εικόνες (images) των CD σε άδεια CD. Αν το κάνετε αυτό σε άλλο &os; σύστημα, δείτε το για περισσότερες πληροφορίες (ειδικότερα, και ). Αν πρόκειται να χρησιμοποιήσετε άλλο λειτουργικό για την εργασία αυτή, θα χρειαστεί να χρησιμοποιήσετε τις δυνατότητες που παρέχονται από τα αντίστοιχα προγράμματα εγγραφής CD του λειτουργικού αυτού. Τα images που παρέχονται είναι σε στάνταρ ISO μορφή και υποστηρίζονται απευθείας από πολλές εφαρμογές εγγραφής CD.
Αν ενδιαφέρεστε να δημιουργήσετε μια εξειδικευμένη έκδοση του &os;, δείτε το Release Engineering Article.
Δημιουργήστε μια Τοπική FTP Τοποθεσία με το CD-ROM του &os; installation network FTP Τα CD-ROM του &os; έχουν την ίδια δομή με την τοποθεσία FTP. Για το λόγο αυτό είναι πολύ εύκολο να δημιουργήσετε μια τοπική τοποθεσία FTP που να μπορεί να χρησιμοποιηθεί από άλλα μηχανήματα του δικτύου σας κατά την εγκατάσταση του &os;. Στο &os; μηχάνημα που θα φιλοξενήσει την FTP τοποθεσία, βεβαιωθείτε ότι το CD-ROM είναι μέσα στον οδηγό και έχει γίνει προσάρτηση του στον κατάλογο /cdrom. &prompt.root; mount /cdrom Δημιουργήστε ένα λογαριασμό για ανώνυμο FTP στο /etc/passwd. Για το σκοπό αυτό, επεξεργαστείτε το αρχείο /etc/passwd χρησιμοποιώντας το &man.vipw.8; και προσθέτοντας την ακόλουθη γραμμή: ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent Βεβαιωθείτε ότι είναι ενεργοποιημένη η υπηρεσία FTP στο /etc/inetd.conf. Οποιοσδήποτε έχει τώρα δικτυακή σύνδεση με το μηχάνημα σας, μπορεί τώρα να επιλέξει ως μέσο εγκατάστασης το FTP και να γράψει ftp://your machine αφού επιλέξει Other στο μενού FTP sites κατά την διάρκεια της εγκατάστασης. Αν το μέσο εκκίνησης (συνήθως δισκέτες) για τους πελάτες FTP δεν είναι ακριβώς η ίδια έκδοση με αυτή που παρέχεται από το τοπικό FTP, η εφαρμογή sysinstall δεν θα σας επιτρέψει να ολοκληρώσετε την εγκατάσταση. Αν οι εκδόσεις δεν είναι όμοιες και επιθυμείτε να προσπεράσετε αυτό τον περιορισμό, θα πρέπει να πάτε στο μενού Options και να αλλάξετε το όνομα της διανομής (distribution name) σε any. Η παραπάνω τακτική είναι κατάλληλη για ένα μηχάνημα που είναι στο τοπικό σας δίκτυο και προστατεύεται από firewall. Αν προσφέρετε υπηρεσίες FTP σε άλλα μηχανήματα στο Internet (και όχι στο τοπικό σας δίκτυο) θα εκθέσετε το μηχάνημα σας σε crackers και άλλους ανεπιθύμητους. Αν το κάνετε αυτό, σας συνιστούμε οπωσδήποτε να ακολουθήσετε σωστές τακτικές ασφαλείας. Δημιουργώντας Δισκέτες Εγκατάστασης installation floppies Αν θα πρέπει να εγκαταστήσετε από δισκέτες (το οποίο σας συνιστούμε να μην κάνετε), είτε λόγω μη υποστηριζόμενου υλικού, είτε απλώς επειδή επιμένετε να κάνετε τα πράγματα με το δύσκολο τρόπο, θα πρέπει πρώτα να προετοιμάσετε κάποιες δισκέτες για την εγκατάσταση. Κατά ελάχιστο, θα χρειαστείτε τόσες δισκέτες 1.44 MB όσες χρειάζονται για να κρατήσουν όλα τα αρχεία του καταλόγου base (base distribution). Αν προετοιμάζετε τις δισκέτες από το DOS, θα πρέπει να τις διαμορφώσετε με την εντολή του &ms-dos; FORMAT. Αν χρησιμοποιείτε &windows;, χρησιμοποιήστε τον Explorer για να διαμορφώσετε τις δισκέτες (δεξί κλικ στον οδηγό A: και επιλέξτε Format (Διαμόρφωση)). Να μην εμπιστεύεστε τις προδιαμορφωμένες από το εργοστάσιο δισκέτες. Να τις διαμορφώσετε ξανά εσείς για να είστε σίγουρος. Πολλά προβλήματα που έχουν αναφερθεί από χρήστες στο παρελθόν έχουν προκύψει από τη χρήση ακατάλληλα διαμορφωμένων μέσων, και για το λόγο αυτό το τονίζουμε ιδιαίτερα τώρα. Αν δημιουργείτε τις δισκέτες σε άλλο μηχάνημα &os; η διαμόρφωση δεν είναι άσχημη ιδέα, αν και δε χρειάζεται να δημιουργήσετε σύστημα αρχείων DOS σε κάθε μια. Μπορείτε αντί για αυτό, να χρησιμοποιήσετε τις εντολές bsdlabel και newfs για να δημιουργήσετε σύστημα αρχείων UFS σε αυτές, όπως φαίνεται από την παρακάτω ακολουθία εντολών: &prompt.root; fdformat -f 1440 fd0.1440 &prompt.root; bsdlabel -w fd0.1440 floppy3 &prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 Μπορείτε έπειτα να τις προσαρτήσετε και να τις γράψετε σαν οποιοδήποτε άλλο σύστημα αρχείων. Αφού διαμορφώσετε τις δισκέτες, θα πρέπει να γράψετε τα αρχεία σε αυτές. Τα αρχεία της εγκατάστασης είναι κομμένα σε τμήματα με κατάλληλο μέγεθος ώστε πέντε από αυτά να χωράνε σε μια συνηθισμένη δισκέτα 1.44 MB. Διατρέξτε όλες τις δισκέτες σας, γράφοντας σε κάθε μια όσα αρχεία χωράνε, μέχρι να γράψετε όλα τα distribution sets που επιθυμείτε με τον τρόπο αυτό. Κάθε distribution set θα πρέπει να αποθηκευτεί σε ένα υποκατάλογο της δισκέτας, π.χ.: a:\base\base.aa, a:\base\base.ab, κ.ο.κ. Το αρχείο base.inf πρέπει επίσης να βρίσκεται στην πρώτη δισκέτα του σετ base καθώς το πρόγραμμα εγκατάστασης το χρειάζεται για να γνωρίζει πόσα επιπλέον τμήματα αρχείων πρέπει να διαβάσει και να συνενώσει για το σχηματισμό της διανομής. Όταν φτάσετε στην οθόνη Media κατά τη διαδικασία εγκατάστασης, επιλέξτε Floppy και θα ερωτηθείτε για τα υπόλοιπα. Εγκατάσταση από Κατάτμηση &ms-dos; installation from MS-DOS Για να προετοιμαστείτε για μια εγκατάσταση από κατάτμηση &ms-dos;, αντιγράψτε τα αρχεία της διανομής σε ένα κατάλογο που θα ονομάσετε freebsd στο ριζικό κατάλογο της κατάτμησης. Για παράδειγμα, c:\freebsd. Η δομή των καταλόγων του CDROM ή της τοποθεσίας FTP θα πρέπει να αναπαραχθεί μερικώς μέσα σε αυτό τον κατάλογο, για το λόγο αυτό σας συνιστούμε να χρησιμοποιήσετε την εντολή xcopy αν κάνετε την αντιγραφή από CD. Για παράδειγμα, για να προετοιμάσετε μια ελάχιστη εγκατάσταση του &os;: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s υποθέτοντας ότι ο διαθέσιμος ελεύθερος χώρος σας βρίσκεται στο C: και η μονάδα σας CDROM είναι στο E:. Αν δεν έχετε οδηγό CDROM, μπορείτε να κατεβάσετε την διανομή από την τοποθεσία ftp.FreeBSD.org. Κάθε distribution set είναι στο δικό του κατάλογο. Για παράδειγμα το σετ base μπορεί να βρεθεί στον κατάλογο &rel.current;/base/. Για όσα distribution set θέλετε να εγκαταστήσετε από μια κατάτμηση &ms-dos; (και για τα οποία έχετε διαθέσιμο ελεύθερο χώρο), εγκαταστήστε τα κάτω από το c:\freebsd — To σετ BIN είναι το μόνο που απαιτείται για μια ελάχιστη εγκατάσταση. Δημιουργώντας Ταινία Εγκατάστασης installation from QIC/SCSI Tape Η εγκατάσταση από ταινία, είναι ίσως η ευκολότερη μέθοδος εκτός από την εγκατάσταση μέσω FTP ή CDROM. Το πρόγραμμα εγκατάστασης απλώς αναμένει τα αρχεία να έχουν γραφτεί στην ταινία με μορφή tar. Αφού επιλέξετε τα σετ εγκατάστασης που σας ενδιαφέρουν, απλώς κάντε τα tar στην ταινία: &prompt.root; cd /freebsd/distdir &prompt.root; tar cvf /dev/rwt0 dist1 ... dist2 Όταν κάνετε την εγκατάσταση, θα πρέπει να βεβαιωθείτε ότι έχετε αφήσει αρκετό ελεύθερο χώρο σε κάποιο προσωρινό κατάλογο (τον οποίο θα μπορέσετε να επιλέξετε) για να χωρέσει τα πλήρη περιεχόμενα της ταινίας που έχετε δημιουργήσει. Εξαιτίας της φύσης της ταινίας, που δεν επιτρέπει τυχαία πρόσβαση, αυτή η μέθοδος εγκατάστασης χρειάζεται αρκετό προσωρινό χώρο αποθήκευσης. Καθώς ξεκινάτε την εγκατάσταση, η ταινία πρέπει να είναι στον οδηγό πριν ξεκινήσετε από τη δισκέτα εκκίνησης. Διαφορετικά, μπορεί να αποτύχει η ανίχνευση της από τη διαδικασία εγκατάστασης. Πριν Εγκαταστήσετε μέσω Δικτύου installation network serial (PPP) installation network parallel (PLIP) installation network Ethernet Υπάρχουν τρεις διαθέσιμοι τύποι δικτυακής εγκατάστασης. Ethernet (τυποποιημένος ελεγκτής Ethernet), Σειριακής Θύρας (PPP), Παράλληλης Θύρας (PLIP (καλώδιο laplink)). Για την γρηγορότερη δυνατή εγκατάσταση μέσω δικτύου, ένας ελεγκτής Ethernet είναι πάντα καλή επιλογή! Το &os; υποστηρίζει τις περισσότερες κοινές κάρτες Ethernet. Μπορείτε να βρείτε ένα πίνακα των υποστηριζόμενων καρτών (και τις απαιτούμενες ρυθμίσεις τους) στις Σημειώσεις Υλικού (Hardware Notes) κάθε έκδοσης &os;. Αν χρησιμοποιείτε κάποια από τις υποστηριζόμενες κάρτες Ethernet PCMCIA βεβαιωθείτε ότι την έχετε βάλει στην υποδοχή πριν ενεργοποιήσετε το φορητό υπολογιστή σας! Το &os; δεν υποστηρίζει δυστυχώς αυτή τη στιγμή την επιτόπου εισαγωγή καρτών PCMCIA κατά τη διάρκεια της εγκατάστασης. θα πρέπει επίσης να ξέρετε για το δίκτυο σας, τη διεύθυνση IP σας, την τιμή της μάσκας υποδικτύου (netmask) για τη κλάση του δικτύου σας, και το όνομα του μηχανήματος σας. Αν κάνετε εγκατάσταση μέσω σύνδεσης PPP και δεν έχετε στατική διεύθυνση, μην ανησυχείτε καθώς ο ISP σας μπορεί να σας δώσει διεύθυνση δυναμικά. Ο διαχειριστής του συστήματος σας, μπορεί να σας δώσει τις τιμές που πρέπει να χρησιμοποιήσετε για το δίκτυο σας. Αν πρόκειται να αναφερθείτε σε άλλα μηχανήματα με χρήση του ονόματος τους αντί για την διεύθυνση IP τους, θα χρειαστείτε επίσης ένα διακομιστή ονομάτων (DNS) και πιθανόν τη διεύθυνση μιας πύλης (gateway) (αν χρησιμοποιείτε PPP, πρόκειται για τη διεύθυνση IP του παροχέα σας) για να επικοινωνήσετε με αυτόν. Αν θέλετε να κάνετε FTP εγκατάσταση διαμέσου μεσολαβητή HTTP, θα πρέπει να ξέρετε επίσης τη διεύθυνση του μεσολαβητή (proxy). Αν δεν ξέρετε τις απαντήσεις σε όλες ή τις περισσότερες από αυτές τις απαντήσεις, θα πρέπει πράγματι να μιλήσετε στο διαχειριστή του συστήματος σας ή τον ISP σας πριν επιχειρήσετε αυτό τον τύπο εγκατάστασης. Αν χρησιμοποιείτε modem, τότε το PPP είναι σχεδόν σίγουρα η μόνη σας επιλογή. Βεβαιωθείτε ότι έχετε άμεσα διαθέσιμες τις πληροφορίες για τον παροχέα σας, καθώς θα τις χρειαστείτε σχετικά νωρίς στη διαδικασία εγκατάστασης. Αν χρησιμοποιείτε PAP ή CHAP για να συνδεθείτε με τον ISP σας (με άλλα λόγια, μπορείτε στα &windows; να συνδεθείτε με τον ISP σας χωρίς να χρησιμοποιήσετε script), τότε το μόνο που θα χρειαστείτε είναι να γράψετε την εντολή dial στην προτροπή της εφαρμογής ppp. Διαφορετικά, θα πρέπει να ξέρετε πως να καλέσετε τον ISP σας, χρησιμοποιώντας εντολές AT commands οι οποίες είναι συγκεκριμένες για το modem σας, καθώς το πρόγραμμα κλήσεων του PPP (dialer) παρέχει ένα πολύ απλό εξομοιωτή τερματικού. Ανατρέξτε στο user-ppp handbook και FAQ για περισσότερες πληροφορίες. Αν έχετε προβλήματα, μπορείτε να κατευθύνετε την καταγραφή (logging) στην οθόνη με την εντολή set log local .... Αν υπάρχει διαθέσιμη φυσική σύνδεση με άλλο μηχάνημα &os; (έκδοση 2.0-R ή μεταγενέστερη), μπορείτε επίσης να εγκαταστήσετε μέσω παράλληλου καλωδίου laplink. Η ταχύτητα μετάδοσης δεδομένων μέσω της παράλληλης θύρας είναι αρκετά υψηλότερη συνήθως από ότι της σειριακής (μέχρι 50 kbytes/sec), με αποτέλεσμα γρηγορότερη εγκατάσταση. Πριν Εγκαταστήσετε μέσω NFS installation network NFS Η εγκατάσταση μέσω NFS είναι αρκετά απλή. Απλώς αντιγράψτε τα αρχεία της διανομής του &os; σε ένα εξυπηρετητή NFS και δείξτε προς αυτόν κατά την επιλογή μέσου NFS. Αν ο εξυπηρετητής αυτός υποστηρίζει μόνο προνομιακή θύρα (privileged port) (αυτή είναι η τυπική ρύθμιση σε σταθμούς εργασίας της SUN), θα χρειαστεί να θέσετε την επιλογή NFS Secure στο μενού Options πριν μπορέσετε να προχωρήσετε με την εγκατάσταση. Αν η κάρτα σας Ethernet είναι χαμηλής ποιότητας και υποφέρει από πολύ αργούς ρυθμούς μεταφοράς, ίσως θελήσετε να ενεργοποιήσετε και την επιλογή NFS Slow. Για να λειτουργήσει η εγκατάσταση NFS, ο εξυπηρετητής θα πρέπει να υποστηρίζει προσαρτήσεις υποκαταλόγων (subdir mounts), για παράδειγμα, αν ο κατάλογος της διανομής σας &os; &rel.current; βρίσκεται στο: ziggy:/usr/archive/stuff/FreeBSD, τότε ο ziggy θα πρέπει να επιτρέπει την απευθείας προσάρτηση του /usr/archive/stuff/FreeBSD, και όχι μόνο του /usr ή του /usr/archive/stuff. Στο αρχείο /etc/exports του &os;, αυτό ελέγχεται από τις επιλογές . Άλλοι εξυπηρετητές NFS μπορεί να ακολουθούν διαφορετικές συμβάσεις. Αν λαμβάνετε μηνύματα του τύπου permission denied από τον εξυπηρετητή, είναι πιθανόν να μην έχετε ρυθμίσει σωστά το παραπάνω.
diff --git a/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml b/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml index e7d05c8a75..d6d48e3beb 100644 --- a/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml @@ -1,1914 +1,1914 @@ Ross Lippert Επεξεργασία από τον Πολυμέσα Σύνοψη Το &os; υποστηρίζει μεγάλη ποικιλία από κάρτες ήχου, επιτρέποντας σας έτσι να απολαύσετε υψηλής πιστότητας ήχο από τον υπολογιστή σας. Περιλαμβάνεται η δυνατότητα να εγγράψετε και να αναπαράγετε ήχο MPEG Audio Layer 3 (MP3), WAV, και Ogg Vorbis καθώς και πολλά άλλα formats. Το &os; Ports Collection επίσης περιέχει εφαρμογές που σας επιτρέπουν να επεξεργαστείτε τον ηχογραφημένο σας ήχο, να προσθέσετε ηχητικά εφέ, και να ελέγξετε συσκευές MIDI. Με λίγο πειραματισμό, το &os; μπορεί να υποστηρίξει αναπαραγωγή αρχείων video και DVD. Ο αριθμός των εφαρμογών που κωδικοποιούν, μετατρέπουν, και αναπαράγουν διάφορους τύπους video είναι πιο περιορισμένος από τον αριθμό των εφαρμογών ήχου. Για παράδειγμα, όταν γράφηκε αυτό το κείμενο, δεν υπήρχε καμιά καλή εφαρμογή επανακωδικοποίησης στη συλλογή των Ports του &os;, που θα μπορούσε να χρησιμοποιηθεί για μετατροπή μεταξύ formats, όπως το audio/sox. Παρ' όλα αυτά, το τοπίο σε αυτό τον τομέα, και όσο αφορά το λογισμικό, αλλάζει ραγδαία. Το κεφάλαιο αυτό θα περιγράψει τα απαραίτητα βήματα για τη ρύθμιση της κάρτας ήχου σας. Η ρύθμιση και εγκατάσταση του X11 () έχει ήδη φροντίσει για τα πιθανά προβλήματα υλικού της κάρτας γραφικών σας, αν και μπορεί να χρειάζεται να εφαρμόσετε κάποιες ακόμα μικρο-ρυθμίσεις για καλύτερη αναπαραγωγή. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως να ρυθμίσετε το σύστημα σας ώστε να αναγνωρίζεται η κάρτα ήχου σας. Μεθόδους για να ελέγξετε τη λειτουργία της κάρτας σας. Πως να επιλύσετε προβλήματα σχετικά με τις ρυθμίσεις ήχου. Πως να αναπαράγετε και να κωδικοποιήσετε MP3 και άλλους τύπους αρχείων ήχου. Πως υποστηρίζεται το video από τον X server. Κάποια ports αναπαραγωγής/κωδικοποίησης video που δίνουν καλά αποτελέσματα. Πως να αναπαράγετε DVD, και αρχεία .mpg και .avi. Πως να κάνετε rip το περιεχόμενο CD και DVD σε αρχεία. Πως να ρυθμίσετε μια κάρτα τηλεόρασης. Πως να ρυθμίσετε ένα σαρωτή εικόνων. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να ξέρετε πως θα ρυθμίσετε και θα εγκαταστήσετε νέο πυρήνα (). Αν προσπαθήσετε να προσαρτήσετε μουσικά CD με την εντολή &man.mount.8; θα προκληθεί κατ' ελάχιστον σφάλμα, ή στη χειρότερη περίπτωση kernel panic. Τέτοια μέσα έχουν εξειδικευμένες κωδικοποιήσεις που διαφέρουν από το συνηθισμένο σύστημα αρχείων ISO. Moses Moore Συνεισφορά από τον Marc Fonvieille Βελτιώθηκε για το &os; 5.X από τον Ρύθμιση της Κάρτας Ήχου Ρυθμίζοντας το Σύστημα PCI ISA sound cards Πριν ξεκινήσετε, θα πρέπει να ξέρετε το μοντέλο της κάρτας που έχετε, το ολοκληρωμένο κύκλωμα που χρησιμοποιεί, καθώς και αν είναι PCI ή ISA. Το &os; υποστηρίζει μεγάλη ποικιλία καρτών ήχου, τόσο PCI όσο και ISA. Ελέγξτε τις υποστηριζόμενες συσκευές ήχου στις Σημειώσεις Υλικού για να δείτε αν η κάρτα σας υποστηρίζεται. Στις Σημειώσεις Υλικού αναφέρεται επίσης ποιο πρόγραμμα οδήγησης υποστηρίζει την κάρτα σας. kernel configuration Για να χρησιμοποιήσετε την συσκευή ήχου που διαθέτετε, θα πρέπει να φορτώσετε τον κατάλληλο οδηγό συσκευής. Αυτό μπορεί να επιτευχθεί με δύο τρόπους. Ο ευκολότερος είναι απλώς να φορτώσετε ένα module (άρθρωμα) για την κάρτα ήχου στον πυρήνα, χρησιμοποιώντας την εντολή &man.kldload.8;, με τη βοήθεια της γραμμής εντολών: &prompt.root; kldload snd_emu10k1 ή προσθέτοντας την κατάλληλη γραμμή στο αρχείο /boot/loader.conf όπως παρακάτω: snd_emu10k1_load="YES" Τα παραπάνω παραδείγματα είναι για μια κάρτα ήχου Creative &soundblaster; Live!. Υπάρχουν διαθέσιμα και άλλα modules για κάρτες ήχου και μπορείτε να τα δείτε στο αρχείο /boot/defaults/loader.conf. Αν δεν είστε σίγουρος για το πρόγραμμα οδήγησης που πρέπει να χρησιμοποιήσετε, μπορείτε να προσπαθήσετε να φορτώσετε το module snd_driver: &prompt.root; kldload snd_driver Πρόκειται για ένα μετα-πρόγραμμα οδήγησης, το οποίο φορτώνει με μιας όλα τα κοινά προγράμματα οδήγησης για κάρτες ήχου. Με τον τρόπο αυτό μπορείτε να επιταχύνετε την ανίχνευση για το σωστό οδηγό. Μπορείτε επίσης να φορτώσετε όλα τα προγράμματα οδήγησης μέσω του αρχείου /boot/loader.conf. Αν επιθυμείτε να βρείτε το επιλεγμένο πρόγραμμα οδήγησης της κάρτας σας μετά τη φόρτωση του snd_driver, μπορείτε να ελέγξετε το αρχείο /dev/sndstat με την βοήθεια της εντολής cat /dev/sndstat. Μια δεύτερη μέθοδος είναι να μεταγλωττίσετε την υποστήριξη της κάρτας ήχου σας, στατικά, απευθείας στον πυρήνα. Το παρακάτω τμήμα παρέχει τις πληροφορίες που χρειάζεστε για να προσθέσετε υποστήριξη για το υλικό σας με αυτό τον τρόπο. Για περισσότερες πληροφορίες σχετικά με την μεταγλώττιση του πυρήνα, δείτε το . Δημιουργώντας Προσαρμοσμένο Πυρήνα με Υποστήριξη Ήχου Αρχικά, πρέπει να προσθέσετε το γενικό πρόγραμμα οδήγησης ήχου (audio framework driver) &man.sound.4; στον πυρήνα σας. Θα χρειαστεί να προσθέσετε την ακόλουθη γραμμή στο αρχείο ρυθμίσεων του πυρήνα: device sound Έπειτα, θα πρέπει να προσθέσετε υποστήριξη για την κάρτα ήχου σας. Πρέπει να γνωρίζετε από πριν ποιο πρόγραμμα οδήγησης την υποστηρίζει. Ελέγξτε τη λίστα των υποστηριζόμενων καρτών στις Σημειώσεις Υλικού, για να καθορίσετε το σωστό οδηγό για την δική σας. Για παράδειγμα, ή Creative &soundblaster; Live!, υποστηρίζεται από τον οδηγό &man.snd.emu10k1.4;. Για να προσθέσετε υποστήριξη για αυτή την κάρτα, χρησιμοποιήστε την ακόλουθη γραμμή: device snd_emu10k1 Βεβαιωθείτε ότι διαβάσατε την σελίδα του manual για το πρόγραμμα οδήγησης, ώστε να χρησιμοποιήσετε τη σωστή σύνταξη. Η ακριβής σύνταξη για κάθε υποστηριζόμενη κάρτα ήχου στο αρχείο ρυθμίσεων πυρήνα, μπορεί να βρεθεί επίσης στο αρχείο /usr/src/sys/conf/NOTES. Για κάρτα ήχου τύπου ISA που δεν είναι Plug'N'Play μπορεί να χρειαστεί να δώσετε στον πυρήνα πληροφορίες σχετικά με τις ρυθμίσεις της (όπως το IRQ, θύρα I/O κλπ), όπως γίνεται τυπικά σε αυτές τις περιπτώσεις. Αυτό μπορεί να γίνει μέσω του αρχείου /boot/device.hints. Κατά τη διαδικασία της εκκίνησης, ο &man.loader.8; θα διαβάσει το αρχείο και θα μεταβιβάσει τις ρυθμίσεις στον πυρήνα. Για παράδειγμα, μια παλιά Creative &soundblaster; 16 ISA μη-PnP κάρτα χρησιμοποιεί το πρόγραμμα οδήγησης &man.snd.sbc.4; σε συνδυασμό με το snd_sb16. Για την κάρτα αυτή πρέπει να προστεθούν οι παρακάτω γραμμές στο αρχείο ρυθμίσεων πυρήνα: device snd_sbc device snd_sb16 και οι παρακάτω γραμμές στο αρχείο /boot/device.hints: hint.sbc.0.at="isa" hint.sbc.0.port="0x220" hint.sbc.0.irq="5" hint.sbc.0.drq="1" hint.sbc.0.flags="0x15" Στην περίπτωση αυτή, η κάρτα χρησιμοποιεί τη θύρα I/O 0x220 και το IRQ 5. Η σύνταξη που χρησιμοποιείται στο αρχείο /boot/device.hints εξηγείται στη σελίδα manual του &man.sound.4; καθώς και στη σελίδα manual του αντίστοιχου προγράμματος οδήγησης. Οι ρυθμίσεις που φαίνονται παραπάνω είναι οι προεπιλεγμένες. Σε ορισμένες περιπτώσεις, μπορεί να χρειαστεί να αλλάξετε το IRQ ή άλλες ρυθμίσεις ώστε να ταιριάζουν με τις ρυθμίσεις της κάρτας σας. Δείτε τη σελίδα manual της &man.snd.sbc.4; για περισσότερες πληροφορίες σχετικά με την κάρτα αυτή. Δοκιμάζοντας την Κάρτα Ήχου Αφού κάνετε επανεκκίνηση με τον νέο πυρήνα (ή αφού φορτώσετε το απαραίτητο module), Θα πρέπει να δείτε μηνύματα σχετικά με την κάρτα ήχου στην προσωρινή μνήμη (buffer) καταγραφής του συστήματος (&man.dmesg.8;) αντίστοιχα με τα παρακάτω: pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: <Cirrus Logic CS4205 AC97 Codec> Η κατάσταση της κάρτας ήχου μπορεί να ελεγχθεί μέσω του αρχείου /dev/sndstat: &prompt.root; cat /dev/sndstat FreeBSD Audio Driver (newpcm) Installed devices: pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384 kld snd_ich (1p/2r/0v channels duplex default) Τα μηνύματα στο σύστημα σας μπορεί να είναι διαφορετικά. Αν δεν δείτε συσκευές τύπου pcm, επιστρέψτε και ελέγξτε τα βήματα που κάνατε προηγουμένως. Κοιτάξτε το αρχείο ρυθμίσεων πυρήνα και βεβαιωθείτε ότι έχετε επιλέξει το σωστό πρόγραμμα οδήγησης. Για συνήθη προβλήματα και την αντιμετώπιση τους, δείτε το τμήμα . Αν όλα πάνε καλά, η κάρτα ήχου σας θα λειτουργεί. Αν ο οδηγός CD ή DVD που διαθέτετε είναι συνδεμένος με την κάρτα ήχου μέσω της αναλογικής του εξόδου, μπορείτε να βάλετε ένα μουσικό CD και να το αναπαράγετε με το πρόγραμμα &man.cdcontrol.1;: &prompt.user; cdcontrol -f /dev/acd0 play 1 Άλλες εφαρμογές, όπως το audio/workman παρέχουν φιλικότερο περιβάλλον εργασίας. Ίσως θέλετε να εγκαταστήσετε μια εφαρμογή όπως το audio/mpg123 για να αναπαράγετε αρχεία ήχου MP3. Ένας άλλος γρήγορος τρόπος για να ελέγξετε την κάρτα ήχου σας, είναι να στείλετε δεδομένα στην συσκευή /dev/dsp, όπως παρακάτω: &prompt.user; cat filename > /dev/dsp όπου το filename μπορεί να είναι οποιοδήποτε αρχείο. Η παραπάνω εντολή θα πρέπει να παράγει κάποιο ήχο (θόρυβο) επιβεβαιώνοντας τη σωστή λειτουργία της κάρτας ήχου. Η ένταση ήχου της κάρτας μπορεί να αλλάξει μέσω της εντολής &man.mixer.8;. Περισσότερες πληροφορίες μπορείτε να βρείτε στην σελίδα του manual της &man.mixer.8;. Συνηθισμένα Προβλήματα device nodes I/O port IRQ DSP Πρόβλημα Λύση sb_dspwr(XX) timed out Δεν είναι σωστά ρυθμισμένη η θύρα I/O. bad irq XX Το IRQ δεν είναι σωστά ρυθμισμένο. Βεβαιωθείτε ότι το IRQ που έχετε δηλώσει είναι το ίδιο με αυτό που έχει ρυθμιστεί στην κάρτα. xxx: gus pcm not attached, out of memory Δεν υπάρχει αρκετή διαθέσιμη μνήμη για να γίνει χρήση της συσκευής. xxx: can't open /dev/dsp! Ελέγξτε με την βοήθεια της εντολής fstat | grep dsp αν κάποια άλλη εφαρμογή απασχολεί τη συγκεκριμένη συσκευή. Συνήθεις ύποπτοι είναι η εφαρμογή esound καθώς και το σύστημα υποστήριξης ήχου του περιβάλλοντος KDE. Munish Chopra Συνεισφορά από τον Χρησιμοποιώντας Πολλαπλές Πηγές Ήχου Είναι πολλές φορές επιθυμητό να έχουμε πολλαπλές πηγές ήχου που να αναπαράγονται ταυτόχρονα, όπως όταν για παράδειγμα το esound ή το artsd δεν επιτρέπουν κοινή χρήση της συσκευής ήχου σε κάποια συγκεκριμένη εφαρμογή. Το &os; επιτρέπει αυτή τη λειτουργία μέσω των Εικονικών Καναλιών Ήχου (Virtual Sound Channels), τα οποία μπορούν να ενεργοποιηθούν μέσω των δυνατοτήτων που παρέχονται από το &man.sysctl.8;. Τα Εικονικά Κανάλια σας επιτρέπουν να πολυπλέξετε τους ήχους που αναπαράγει η κάρτα σας, αναμιγνύοντας τον ήχο στον πυρήνα. - Για να ρυθμίσετε το πλήθος των εικονικών καναλιών, υπάρχουν δύο + Για να ρυθμίσετε το πλήθος των εικονικών καναλιών, υπάρχουν τρεις ρυθμίσεις sysctl που μπορούν να γίνουν αν είστε ο χρήστης root, όπως φαίνεται παρακάτω: &prompt.root; sysctl dev.pcm.0.play.vchans=4 &prompt.root; sysctl dev.pcm.0.rec.vchans=4 &prompt.root; sysctl hw.snd.maxautovchans=4 Το παραπάνω παράδειγμα παραχωρεί τέσσερα εικονικά κανάλια, τα οποία άνετα επαρκούν για καθημερινή χρήση. Οι τιμές dev.pcm.0.play.vchans=4 και dev.pcm.0.rec.vchans=4 αναφέρονται στον αριθμό των εικονικών καναλιών που διαθέτει η συσκευή pcm0 για αναπαραγωγή και εγγραφή, και μπορούν να ρυθμιστούν μετά την προσάρτηση της συσκευής. Η μεταβλητή hw.snd.maxautovchans είναι ο αριθμός των εικονικών καναλιών που παραχωρούνται σε μια νέα συσκευή ήχου όταν αυτή προσαρτάται μέσω της εντολής &man.kldload.8;. Καθώς το module pcm μπορεί να φορτωθεί ανεξάρτητα από τα προγράμματα οδήγησης του υλικού, το hw.snd.maxautovchans μπορεί να αποθηκεύσει το μέγιστο πλήθος των εικονικών καναλιών που θα παραχωρηθούν σε όσες συσκευές ήχου προσαρτηθούν αργότερα. Δείτε τη σελίδα manual &man.pcm.4; για περισσότερες λεπτομέρειες. Δεν μπορείτε να αλλάξετε τον αριθμό των εικονικών καναλιών μιας συσκευής όσο αυτή είναι σε χρήση. Πρώτα κλείστε όσα προγράμματα χρησιμοποιούν τη συσκευή, όπως προγράμματα αναπαραγωγής μουσικής ή δαίμονες ήχου. Αν δεν χρησιμοποιείτε το &man.devfs.5;, θα πρέπει να κατευθύνετε τις εφαρμογές σας στο /dev/dsp0.x, όπου x είναι από 0 ως 3 αν το dev.pcm.0.rec.vchans είναι ρυθμισμένο στο 4 όπως στο παραπάνω παράδειγμα. Σε ένα σύστημα που χρησιμοποιεί την &man.devfs.5;, η παραπάνω ρύθμιση θα γίνεται αυτόματα και διάφανα σε κάθε πρόγραμμα που ζητά να χρησιμοποιήσει το /dev/dsp0. Josef El-Rayes Συνεισφορά από τον Ρυθμίζοντας Προεπιλεγμένες Τιμές για τα Κανάλια του Μίκτη Οι προεπιλεγμένες τιμές για τα διάφορα κανάλια του μίκτη, είναι ενσωματωμένες στον πηγαίο κώδικα του προγράμματος οδήγησης &man.pcm.4;. Υπάρχουν πολλές διαφορετικές εφαρμογές και δαίμονες που σας επιτρέπουν να αλλάξετε τιμές στο μίκτη, απομνημονεύοντας τις μεταξύ διαδοχικών κλήσεων, αλλά ή λύση αυτή δεν είναι και η καλύτερη. Είναι δυνατόν να ορίσετε προεπιλεγμένες τιμές μίξης σε επίπεδο προγράμματος οδήγησης. Αυτό μπορεί να επιτευχθεί με την ρύθμιση κατάλληλων τιμών στο αρχείο /boot/device.hints, π.χ.: hint.pcm.0.vol="50" Το παραπάνω ρυθμίζει την ένταση του ήχου στην προεπιλεγμένη τιμή 50, όταν φορτωθεί το module &man.pcm.4;. Chern Lee Συνεισφορά από τον Ήχος MP3 Τα αρχεία ήχου MP3 (MPEG Layer 3 Audio) επιτυγχάνουν ποιότητα ήχου πολύ κοντά στο μουσικό CD, και είναι καλό να έχετε δυνατότητα αναπαραγωγής τους στο &os; σύστημα σας. Προγράμματα Αναπαραγωγής MP3 Το πιο δημοφιλές, με μεγάλη διαφορά, πρόγραμμα αναπαραγωγής MP3 για το Χ11, είναι η εφαρμογή XMMS (X Multimedia System). Μπορείτε να χρησιμοποιήσετε τα skins του Winamp με το XMMS καθώς το γραφικό του περιβάλλον είναι σχεδόν όμοιο με το Winamp της Nullsoft. Το XMMS έχει επίσης ενσωματωμένη δυνατότητα χρήσης plug-ins. Το XMMS μπορεί να εγκατασταθεί από το port multimedia/xmms ή από πακέτο. Το περιβάλλον του XMMS το καθιστά εύκολο στη χρήση, καθώς διαθέτει λίστα αναπαραγωγής (playlist), γραφικό ισοσταθμιστή και άλλες λειτουργίες. Όσοι είναι εξοικειωμένοι με το Winamp θα βρουν το XMMS απλό στη χρήση του. Το port audio/mpg123 είναι ένα εναλλακτικό πρόγραμμα αναπαραγωγής MP3 μέσω της γραμμής εντολών. Το mpg123 μπορεί να εκτελεστεί καθορίζοντας τη συσκευή ήχου και το αρχείο MP3 στη γραμμή εντολών. Θεωρώντας ότι η συσκευή ήχου είναι το /dev/dsp1.0 και θέλετε να αναπαράγετε το αρχείο Foobar-GreatestHits.mp3, θα χρησιμοποιήσετε την παρακάτω εντολή: &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! Playing MPEG stream from Foobar-GreatestHits.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo Αποθήκευση (Rip) Αρχείων από Μουσικά CD Πριν κωδικοποιήσετε ένα ολόκληρο CD ή ένα κομμάτι από CD σε αρχείο MP3, θα πρέπει να αντιγράψετε τα μουσικά δεδομένα από το CD στο σκληρό σας δίσκο. Αυτό γίνεται γράφοντας τα δεδομένα τύπου CDDA (CD Digital Audio) σε αρχεία WAV. Το εργαλείο cdda2wav, το οποίο ανήκει στη συλλογή εργαλείων sysutils/cdrtools μπορεί να χρησιμοποιηθεί τόσο για την ανάκτηση των δεδομένων ήχου από μουσικά CD, όσο και πληροφοριών που σχετίζονται με αυτά. Έχοντας το μουσικό CD στον οδηγό, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή (ως root) για να αποθηκεύσετε ένα ολόκληρο CD σε χωριστά (ανά κομμάτι) αρχεία WAV: &prompt.root; cdda2wav -D 0,1,0 -B Το cdda2wav υποστηρίζει οδηγούς CDROM τύπου ATAPI (IDE). Για να διαβάσετε δεδομένα από μια συσκευή IDE, χρησιμοποιήστε το όνομα συσκευής αντί για τον αριθμό μονάδας SCSI. Για παράδειγμα, για να αποθηκεύσετε το κομμάτι 7 από ένα οδηγό IDE: &prompt.root; cdda2wav -D /dev/acd0 -t 7 Το δείχνει τη συσκευή SCSI 0,1,0, που αντιστοιχεί στην έξοδο της εντολής cdrecord -scanbus. Για να διαβάσετε μεμονωμένα κομμάτια, χρησιμοποιήστε την επιλογή όπως φαίνεται παρακάτω: &prompt.root; cdda2wav -D 0,1,0 -t 7 Το παράδειγμα αυτό διαβάζει το κομμάτι επτά του μουσικού CD. Για να διαβάσετε μια σειρά από κομμάτια, για παράδειγμα από το ένα ως το επτά, καθορίστε μια περιοχή: &prompt.root; cdda2wav -D 0,1,0 -t 1+7 Μπορείτε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα &man.dd.1; για να διαβάσετε μουσικά κομμάτια από οδηγούς ATAPI. Διαβάστε το για περισσότερες πληροφορίες σχετικά με αυτή τη δυνατότητα. Κωδικοποιώντας MP3 Στις μέρες μας, το προτιμώμενο πρόγραμμα κωδικοποίησης είναι το Lame. Μπορείτε να το βρείτε στη συλλογή των ports, στο audio/lame. Χρησιμοποιώντας τα αρχεία WAV που έχετε αποθηκεύσει, μπορείτε να μετατρέψετε το αρχείο audio01.wav σε audio01.mp3 με την εντολή: &prompt.root; lame -h -b 128 \ --tt "Foo Song Title" \ --ta "FooBar Artist" \ --tl "FooBar Album" \ --ty "2001" \ --tc "Ripped and encoded by Foo" \ --tg "Genre" \ audio01.wav audio01.mp3 Τα 128 kbits είναι η τυπικά χρησιμοποιούμενη ποιότητα για αρχεία MP3. Ωστόσο, πολλοί προτιμούν μεγαλύτερη ποιότητα όπως 160 ή 192. Όσο μεγαλύτερος είναι ο ρυθμός δεδομένων (bitrate), τόσο περισσότερο χώρο αποθήκευσης θα χρειάζεται το αρχείο MP3 που θα προκύψει, ωστόσο και η ποιότητα θα είναι υψηλότερη. Η επιλογή ενεργοποιεί τη δυνατότητα υψηλότερης ποιότητας αλλά ελαφρά πιο αργής κωδικοποίησης. Οι επιλογές που ξεκινούν με δείχνουν ετικέτες (tags) ID3, οι οποίες συνήθως περιέχουν πληροφορίες σχετικές με το τραγούδι και οι οποίες μπορούν να ενσωματωθούν μέσα σε αρχεία MP3. Μπορείτε να βρείτε περισσότερες επιλογές σχετικά με την κωδικοποίηση, αν συμβουλευτείτε τη σελίδα manual του προγράμματος lame. Αποκωδικοποιώντας MP3 Για να μπορέσετε να γράψετε μουσικό CD από αρχεία MP3, θα πρέπει να τα μετατρέψετε ξανά σε μορφή ασυμπίεστου αρχείου WAV. Τόσο το XMMS όσο και το mpg123 υποστηρίζουν εξαγωγή αρχείου MP3 σε ασυμπίεστη μορφή αρχείου. Γράφοντας στο Δίσκο μέσω του XMMS: Ξεκινήστε το XMMS. Κάντε δεξί κλικ στο παράθυρο της εφαρμογής για να ανοίξετε το μενού του XMMS. Επιλέξτε Preferences από τα Options. Αλλάξτε το Output Plugin σε Disk Writer Plugin. Πιέστε Configure. Γράψτε (ή επιλέξτε browse) ένα κατάλογο για να αποθηκεύσετε τα αποσυμπιεσμένα αρχεία. Φορτώστε το αρχείο MP3 στο XMMS όπως συνήθως, με την ένταση στο 100% και τις ρυθμίσεις EQ ανενεργές. Πιέστε το Play. Το XMMS θα φαίνεται ότι αναπαράγει το MP3, αλλά δεν θα ακούγεται κανείς ήχος. Στην πραγματικότητα αναπαράγει το MP3 σε αρχείο. Όταν τελειώσετε, βεβαιωθείτε ότι επαναφέρατε τη ρύθμιση του προεπιλεγμένου Output Plugin στην προηγούμενη επιλογή της, για να μπορέσετε να ακούσετε ξανά αρχεία MP3. Γράφοντας στην έξοδο μέσω του mpg123: Εκτελέστε mpg123 -s audio01.mp3 > audio01.pcm Το XMMS γράφει αρχεία σε μορφή WAV, ενώ το mpg123 μετατρέπει το MP3 σε μη- επεξεργασμένα (raw) δεδομένα ήχου PCM. Και οι δύο αυτές μορφές μπορούν να χρησιμοποιηθούν με την εφαρμογή cdrecord για τη δημιουργία μουσικών CD. Για την εφαρμογή &man.burncd.8; θα πρέπει να χρησιμοποιήσετε δεδομένα PCM. Αν χρησιμοποιήσετε αρχεία WAV θα παρατηρήσετε ένα μικρό ήχο (tick) στην αρχή κάθε κομματιού. Ο ήχος αυτός προέρχεται από την επικεφαλίδα (header) του αρχείου WAV. Μπορείτε να αφαιρέσετε την επικεφαλίδα με τη βοήθεια του προγράμματος SoX (μπορείτε να το εγκαταστήσετε από το port audio/sox ή το αντίστοιχο πακέτο): &prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.raw Διαβάστε το για περισσότερες πληροφορίες σχετικά με τη χρήση CD εγγραφής στο &os; Ross Lippert Συνεισφορά από τον Αναπαραγωγή Video Η αναπαραγωγή video είναι μια καινούρια και ραγδαία αναπτυσσόμενη περιοχή εφαρμογών. Θα χρειαστεί να δείξετε υπομονή. Δεν πρόκειται να λειτουργήσουν όλα τόσο ομαλά όπως στον ήχο. Πριν ξεκινήσετε, θα πρέπει να γνωρίζετε το μοντέλο της κάρτας γραφικών που έχετε καθώς και το ολοκληρωμένο κύκλωμα που χρησιμοποιεί. Αν και το &xorg; και το &xfree86; υποστηρίζουν μεγάλη γκάμα από κάρτες γραφικών, αυτές που παρέχουν καλή απόδοση είναι λιγότερες. Για να πάρετε μια λίστα των εκτεταμένων δυνατοτήτων που υποστηρίζονται από την κάρτα σας, χρησιμοποιήστε την εντολή &man.xdpyinfo.1; την ώρα που εκτελούνται τα X11. Είναι γενικά καλή ιδέα να έχετε ένα μικρό αρχείο MPEG το οποίο μπορεί να χρησιμοποιηθεί για δοκιμές διαφορετικών επιλογών και προγραμμάτων αναπαραγωγής. Κάποια προγράμματα αναπαραγωγής DVD αναζητούν από προεπιλογή το δίσκο DVD στη συσκευή /dev/dvd. Σε ορισμένα το όνομα της συσκευής είναι ενσωματωμένο στον κώδικα του προγράμματος. Για το λόγο αυτό, ίσως είναι χρήσιμο να φτιάξετε συμβολικές συνδέσεις προς τις πραγματικές συσκευές: &prompt.root; ln -sf /dev/acd0 /dev/dvd &prompt.root; ln -sf /dev/acd0 /dev/rdvd Σημειώστε ότι λόγω της φύσης του συστήματος &man.devfs.5;, αυτού του είδους οι συνδέσεις δεν παραμένουν μετά την επανεκκίνηση του συστήματος σας. Για να δημιουργούνται οι συμβολικές συνδέσεις αυτόματα σε κάθε εκκίνηση του συστήματος σας, προσθέστε τις ακόλουθες γραμμές στο αρχείο /etc/devfs.conf: link acd0 dvd link acd0 rdvd Επιπρόσθετα, η αποκωδικοποίηση DVD, η οποία χρειάζεται κλήση ειδικών λειτουργιών του DVD-ROM, απαιτεί και άδεια εγγραφής (write permission) στις συσκευές DVD. Για τη βελτίωση της λειτουργίας της κοινόχρηστης μνήμης του συστήματος X11, συνίσταται να αυξήσετε τις τιμές κάποιων μεταβλητών &man.sysctl.8;: kern.ipc.shmmax=67108864 kern.ipc.shmall=32768 Προσδιορισμός Δυνατοτήτων Κάρτας Γραφικών XVideo SDL DGA Υπάρχουν αρκετοί διαφορετικοί τρόποι για την απεικόνιση video στο X11. Το τι θα δουλέψει τελικά, εξαρτάται σε μεγάλο βαθμό από το υλικό σας. Κάθε μέθοδος που περιγράφουμε παρακάτω θα δώσει διαφορετική ποιότητα σε διαφορετικό υλικό. Επίσης, η αναπαραγωγή video στο X11 είναι ένα θέμα στο οποίο πρόσφατα δίνεται μεγάλη σημασία, και πιθανόν θα υπάρχουν αρκετές βελτιώσεις σε κάθε νέα έκδοση του &xorg;, ή του &xfree86;. Κατάλογος κοινών διεπαφών video: X11: Συνηθισμένη έξοδος του X11 με χρήση κοινόχρηστης μνήμης. XVideo: μια επέκταση της διεπαφής X11 που υποστηρίζει αναπαραγωγή video σε οποιαδήποτε σχεδιάσιμη επιφάνεια του X11. SDL: Simple Directmedia Layer. DGA: Direct Graphics Access. SVGAlib: Επίπεδο γραφικών χαμηλού επιπέδου για κονσόλα. XVideo Το &xorg; και το &xfree86; 4.X διαθέτουν μια επέκταση που ονομάζεται XVideo (γνωστή και ως Xvideo, Xv, xv) και το οποίο επιτρέπει την απευθείας απεικόνιση video σε σχεδιάσιμα αντικείμενα μέσω ειδικής επιτάχυνσης. Η επέκταση αυτή παρέχει αναπαραγωγή πολύ καλής ποιότητας, ακόμα και σε μηχανήματα χαμηλών προδιαγραφών. Για να δείτε αν χρησιμοποιείται η επέκταση, χρησιμοποιήστε την εντολή xvinfo: &prompt.user; xvinfo Το XVideo υποστηρίζεται από την κάρτα σας αν το αποτέλεσμα δείχνει όπως παρακάτω: X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 port base: 43 operations supported: PutImage supported visuals: depth 16, visualID 0x22 depth 16, visualID 0x23 number of attributes: 5 "XV_COLORKEY" (range 0 to 16777215) client settable attribute client gettable attribute (current value is 2110) "XV_BRIGHTNESS" (range -128 to 127) client settable attribute client gettable attribute (current value is 0) "XV_CONTRAST" (range 0 to 255) client settable attribute client gettable attribute (current value is 128) "XV_SATURATION" (range 0 to 255) client settable attribute client gettable attribute (current value is 128) "XV_HUE" (range -180 to 180) client settable attribute client gettable attribute (current value is 0) maximum XvImage size: 1024 x 1024 Number of image formats: 7 id: 0x32595559 (YUY2) guid: 59555932-0000-0010-8000-00aa00389b71 bits per pixel: 16 number of planes: 1 type: YUV (packed) id: 0x32315659 (YV12) guid: 59563132-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x30323449 (I420) guid: 49343230-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x36315652 (RV16) guid: 52563135-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x3e0, 0x7c00 id: 0x35315652 (RV15) guid: 52563136-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x7e0, 0xf800 id: 0x31313259 (Y211) guid: 59323131-0000-0010-8000-00aa00389b71 bits per pixel: 6 number of planes: 3 type: YUV (packed) id: 0x0 guid: 00000000-0000-0000-0000-000000000000 bits per pixel: 0 number of planes: 0 type: RGB (packed) depth: 1 red, green, blue masks: 0x0, 0x0, 0x0 Παρατηρήστε επίσης ότι τα formats που εμφανίζονται (YUV2, YUV12, κ.λ.π.) δεν διατίθενται σε όλες τις εκδόσεις του XVideo, και η απουσία τους μπορεί να επηρεάσει κάποια προγράμματα αναπαραγωγής. Αν το αποτέλεσμα δείχνει κάπως έτσι: X-Video Extension version 2.2 screen #0 no adaptors present Τότε πιθανώς το XVideo δεν υποστηρίζεται από την κάρτα σας. Αν το XVideo δεν υποστηρίζεται από την κάρτα σας, αυτό σημαίνει απλά ότι θα είναι πιο δύσκολο ο υπολογιστής σας να ανταποκριθεί στις υπολογιστικές απαιτήσεις της απεικόνισης video. Ωστόσο, ανάλογα με την κάρτα γραφικών και τον επεξεργαστή σας, είναι ακόμα πιθανόν να έχετε ικανοποιητική αναπαραγωγή. Ίσως πρέπει να διαβάσετε μεθόδους για τη βελτίωση της απόδοσης, στα προχωρημένα θέματα, . Το Επίπεδο Simple Directmedia Layer Το Simple Directmedia Layer, SDL, προορίζονταν να γίνει ένα επίπεδο συμβατότητας μεταξύ των µsoft.windows;, BeOS, και του &unix;, επιτρέποντας ανάπτυξη εφαρμογών ήχου και εικόνας, κατάλληλες για κάθε μια από αυτές τις πλατφόρμες (cross-platform). Το επίπεδο SDL παρέχει χαμηλού επιπέδου πρόσβαση στο υλικό, και σε ορισμένες περιπτώσεις μπορεί να είναι πιο αποδοτικό από την διεπαφή X11. Το SDL μπορεί να βρεθεί στο devel/sdl12. Το Επίπεδο Direct Graphics Access Το Direct Graphics Access είναι μια επέκταση του X11 που επιτρέπει σε ένα πρόγραμμα να προσπεράσει τον X server και να αλλάξει απευθείας τα περιεχόμενα του framebuffer (μνήμης γραφικών). Δεδομένου ότι βασίζεται σε διαχείριση μνήμης χαμηλού επιπέδου, τα προγράμματα που το χρησιμοποιούν πρέπει να εκτελούνται ως root. Η επέκταση DGA μπορεί να ελεγχθεί και να μετρηθεί ως προς την απόδοση της με το πρόγραμμα &man.dga.1;. Όταν εκτελείται η εντολή dga, αλλάζει τα χρώματα της οθόνης σε κάθε πίεση ενός πλήκτρου. Για να ακυρώσετε την εκτέλεση, πιέστε q. Πακέτα και Ports που Σχετίζονται με Video video ports video packages Το τμήμα αυτό περιγράφει το λογισμικό που διατίθεται στη συλλογή των ports του &os; και το οποίο μπορεί να χρησιμοποιηθεί για αναπαραγωγή video. Ο τομέας της αναπαραγωγής video είναι ιδιαίτερα ενεργός όσο αφορά την ανάπτυξη λογισμικού, και έτσι οι δυνατότητες των εφαρμογών πιθανώς να αποκλίνουν κάπως από αυτές που περιγράφονται εδώ. Είναι αρχικά σημαντικό να γνωρίζετε ότι αρκετές από τις εφαρμογές video που εκτελούνται στο &os; αναπτύχθηκαν αρχικά ως εφαρμογές Linux. Πολλές από αυτές τις εφαρμογές είναι ακόμα ποιότητας beta. Κάποια από τα προβλήματα που μπορεί να συναντήσετε στις εφαρμογές video του &os; περιλαμβάνουν: Μια εφαρμογή δεν μπορεί να αναπαράγει ένα αρχείο που δημιουργήθηκε από κάποια άλλη. Μια εφαρμογή δεν μπορεί να αναπαράγει ένα αρχείο που δημιούργησε η ίδια. Η ίδια εφαρμογή, σε δυο διαφορετικά μηχανήματα, και αφού έχει μεταγλωττιστεί σε κάθε μηχάνημα ειδικά για αυτό, αναπαράγει το ίδιο αρχείο με διαφορετικό τρόπο. Κάποιο φαινομενικά απλό φίλτρο, όπως αυτό της αλλαγής μεγέθους εικόνας (rescaling), έχει ως αποτέλεσμα την δημιουργία κακής ποιότητας video (τεχνουργημάτων) εξαιτίας προβληματικής ρουτίνας μεγέθυνσης Κάποια εφαρμογή τερματίζεται απότομα συχνά. Δεν εγκαθίσταται η τεκμηρίωση του προγράμματος κατά την εγκατάσταση του port, ενώ μπορεί να βρεθεί είτε στο δικτυακό τόπο του προγράμματος είτε στον κατάλογο work του port. Πολλές από τις εφαρμογές αυτές μπορεί επίσης να παρουσιάσουν συμπτώματα Linux-ισμού. Μπορεί δηλ. να εμφανίζουν προβλήματα που οφείλονται στον τρόπο με τον οποίο υλοποιούνται κάποιες στάνταρ βιβλιοθήκες στις διανομές του Linux, ή ίσως οι συγγραφείς να έχουν θεωρήσει ως δεδομένες κάποιες δυνατότητες του πυρήνα όπως υπάρχουν στο Linux. Τα προβλήματα αυτά δεν είναι σίγουρο ότι ανακαλύπτονται και διορθώνονται πάντα από τους συντηρητές του port, το οποίο μπορεί να οδηγήσει σε προβλήματα όπως τα παρακάτω: Χρήση του αρχείου /proc/cpuinfo για την ανίχνευση των δυνατοτήτων του επεξεργαστή. Κακή χρήση των threads (νημάτων) το οποίο οδηγεί το πρόγραμμα σε κόλλημα αντί για κανονικό τερματισμό στο τέλος της εκτέλεσης. Χρήση λογισμικού που δεν υπάρχει ακόμα στη συλλογή των ports του &os; σε συνδυασμό με την εφαρμογή. Μέχρι στιγμής οι συγγραφείς των εφαρμογών αυτών έχουν αποδειχθεί συνεργάσιμοι με τους συντηρητές των ports, ώστε να ελαχιστοποιηθούν οι επεμβάσεις που χρειάζονται για την μετατροπή (porting) των εφαρμογών. MPlayer Ο MPlayer είναι μια εφαρμογή αναπαραγωγής video που αναπτύχθηκε πρόσφατα και εξελίσσεται ταχύτατα. Οι στόχοι της ομάδας ανάπτυξης του MPlayer είναι η ταχύτητα και η ευελιξία στο Linux και στα άλλα Unix. Η δημιουργία του ξεκίνησε όταν ο αρχηγός της ομάδας ανάπτυξης κουράστηκε να αντιμετωπίζει τα προβλήματα αναπαραγωγής των μέχρι τότε διαθέσιμων προγραμμάτων. Κάποιοι υποστηρίζουν ότι το γραφικό περιβάλλον θυσιάστηκε για να δημιουργηθεί μια ομοιόμορφη σχεδίαση. Ωστόσο, μόλις συνηθίσετε τις επιλογές που δίνονται από τη γραμμή εντολών και τα αντίστοιχα πλήκτρα, θα μπορέσετε να τον χρησιμοποιήσετε αρκετά καλά. Μεταγλώττιση του MPlayer MPlayer making Ο MPlayer βρίσκεται στο multimedia/mplayer. Ο MPlayer κάνει πλήθος ελέγχων του υλικού κατά τη διαδικασία της μεταγλώττισης, φτιάχνοντας έτσι ένα εκτελέσιμο το οποίο δεν έχει φορητότητα από ένα σύστημα σε ένα άλλο. Για το σκοπό αυτό, είναι σημαντικό να τον εγκαταστήσετε από τα ports και όχι από έτοιμο πακέτο. Επιπρόσθετα, μπορείτε να καθορίσετε πλήθος επιλογών στην γραμμή εντολών του make όπως περιγράφεται στο Makefile και κατά την έναρξη της διαδικασίας μεταγλώττισης: &prompt.root; cd /usr/ports/multimedia/mplayer &prompt.root; make N - O - T - E Take a careful look into the Makefile in order to learn how to tune mplayer towards you personal preferences! For example, make WITH_GTK1 builds MPlayer with GTK1-GUI support. If you want to use the GUI, you can either install /usr/ports/multimedia/mplayer-skins or download official skin collections from http://www.mplayerhq.hu/homepage/dload.html Οι προεπιλεγμένες επιλογές μάλλον είναι κατάλληλες για τους περισσότερους χρήστες. Αν ωστόσο χρειάζεστε τον αποκωδικοποιητή XviD, θα πρέπει να καθορίσετε την επιλογή WITH_XVID στην γραμμή εντολών. Μπορείτε επίσης να ορίσετε την προεπιλεγμένη συσκευή DVD χρησιμοποιώντας την επιλογή WITH_DVD_DEVICE, διαφορετικά θα χρησιμοποιηθεί η προεπιλεγμένη συσκευή /dev/acd0. Όταν γράφονταν αυτό το κείμενο, το port του MPlayer δημιουργούσε επίσης την τεκμηρίωση του προγράμματος και δύο εκτελέσιμα, τον mplayer, και τον mencoder, το οποίο είναι ένα εργαλείο για επανακωδικοποίηση video. Η HTML τεκμηρίωση του MPlayer είναι ιδιαίτερα πληροφοριακή. Αν ο αναγνώστης βρει ότι οι πληροφορίες αυτού του κεφαλαίου όσο αφορά το υλικό και τις διεπαφές video είναι ελλιπείς, η τεκμηρίωση του MPlayer αποτελεί ένα ιδιαίτερα αναλυτικό συμπλήρωμα. Θα πρέπει σίγουρα να διαθέσετε χρόνο για να διαβάσετε την τεκμηρίωση του MPlayer αν αναζητάτε πληροφορίες σχετικά με την υποστήριξη video στο &unix;. Χρησιμοποιώντας τον MPlayer MPlayer use Κάθε χρήστης του MPlayer πρέπει να δημιουργήσει ένα υποκατάλογο .mplayer μέσα στον προσωπικό του κατάλογο. Για να δημιουργήσετε τον απαραίτητο υποκατάλογο, μπορείτε να γράψετε το παρακάτω: &prompt.user; cd /usr/ports/multimedia/mplayer &prompt.user; make install-user Οι επιλογές της γραμμής εντολών του mplayer περιγράφονται στη σελίδα του manual. Για ακόμα περισσότερες λεπτομέρειες, υπάρχει τεκμηρίωση σε μορφή HTML. Στο τμήμα αυτό θα περιγράψουμε μερικές μόνο κοινές χρήσεις. Για να αναπαράγετε ένα αρχείο, όπως το testfile.avi, μέσω ενός από τα αρκετά video interfaces χρησιμοποιήστε την επιλογή : &prompt.user; mplayer -vo xv testfile.avi &prompt.user; mplayer -vo sdl testfile.avi &prompt.user; mplayer -vo x11 testfile.avi &prompt.root; mplayer -vo dga testfile.avi &prompt.root; mplayer -vo 'sdl:dga' testfile.avi Αξίζει τον κόπο να δοκιμάσετε όλες αυτές τις επιλογές, καθώς η απόδοση τους εξαρτάται από πολλούς παράγοντες και διαφοροποιείται αρκετά ανάλογα με το υλικό του υπολογιστή σας. Για αναπαραγωγή από DVD, αντικαταστήστε το testfile.avi με όπου το N είναι ο αριθμός του τίτλου (title number) που επιθυμείτε να αναπαράγετε και DEVICE είναι το όνομα συσκευής του DVD-ROM. Για παράδειγμα, για να αναπαράγετε τον τίτλο 3 από τη συσκευή /dev/dvd: &prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvd Η προεπιλεγμένη συσκευή DVD μπορεί να καθοριστεί κατά τη διάρκεια της μεταγλώττισης του MPlayer port μέσω της επιλογής WITH_DVD_DEVICE. Από προεπιλογή, η συσκευή αυτή είναι η /dev/acd0. Μπορείτε να βρείτε περισσότερες πληροφορίες στο αρχείο Makefile του port. Για τα πλήκτρα που χρησιμοποιούνται για παύση, διακοπή, μετακίνηση κλπ. κατά τη διάρκεια της αναπαραγωγής, συμβουλευτείτε την βοήθεια που μπορείτε να δείτε εκτελώντας mplayer -h ή διαβάστε τη σελίδα του manual. Επιπρόσθετα, σημαντικές επιλογές αναπαραγωγής είναι: το οποίο ενεργοποιεί απεικόνιση σε πλήρη οθόνη και το το οποίο βοηθάει στην αύξηση της απόδοσης. Για να μείνει το μέγεθος της γραμμής εντολών το δυνατόν μικρό, ο χρήστης μπορεί να δημιουργήσει ένα αρχείο .mplayer/config και να ορίσει εκεί τις προεπιλεγμένες επιλογές: vo=xv fs=yes zoom=yes Τέλος, ο mplayer μπορεί να χρησιμοποιηθεί για την εξαγωγή (rip) ενός τίτλου DVD σε ένα αρχείο .vob file. Για την εξαγωγή του δεύτερου τίτλου από ένα DVD, γράψτε: &prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd Το αρχείο εξόδου, out.vob, θα είναι τύπου MPEG και μπορείτε να το μεταχειριστείτε μέσω άλλων πακέτων video που περιγράφονται σε αυτό το τμήμα. mencoder mencoder Πριν χρησιμοποιήσετε το mencoder είναι καλή ιδέα να εξοικειωθείτε με τις επιλογές που αναφέρονται στην τεκμηρίωση HTML. Υπάρχει σελίδα manual, αλλά δεν είναι πολύ χρήσιμη χωρίς την HTML τεκμηρίωση. Υπάρχουν πάρα πολλοί τρόποι για να βελτιώσετε την ποιότητα, να μειώσετε το ρυθμό δεδομένων (bitrate) να αλλάξετε μορφή αρχείου, και κάποια από αυτά τα κόλπα μπορεί να κάνουν τη διαφορά μεταξύ καλής και κακής απόδοσης. Εδώ θα δείτε μερικά παραδείγματα για να ξεκινήσετε. Πρώτα μια απλή αντιγραφή: &prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi Λανθασμένοι συνδυασμοί στη γραμμή εντολών, μπορεί να δώσουν αρχεία εξόδου τα οποία δεν μπορεί να αναπαράγει ούτε ο ίδιος ο mplayer. Έτσι, αν απλώς θέλετε να κάνετε rip ένα αρχείο, μείνετε στην επιλογή του mplayer. Για να μετατρέψετε το input.avi σε codec MPEG4 με ήχο MPEG3 (απαιτείται το audio/lame): &prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi Με τον τρόπο αυτό παράγεται έξοδος που μπορεί να αναπαραχθεί από τον mplayer και το xine. Μπορείτε να αντικαταστήσετε το input.avi με την επιλογή και να το εκτελέσετε ως root για να επανακωδικοποιήσετε απευθείας ένα τίτλο DVD. Μια και πιθανώς δεν θα μείνετε ικανοποιημένος με το αποτέλεσμα από την πρώτη φορά, σας συνιστούμε να κατεβάσετε τον τίτλο σε ένα αρχείο και να δουλέψετε σε αυτό. Το Πρόγραμμα Αναπαραγωγής xine Το xine είναι ένα project με ευρύ σκοπό, το οποίο προορίζεται όχι μόνο να γίνει ένα πρόγραμμα όλα σε ένα όσο αφορά το video, αλλά επίσης στο να παράγει μια επαναχρησιμοποιήσιμη βασική βιβλιοθήκη και ένα αρθρωτό εκτελέσιμο το οποίο μπορεί να επεκταθεί με πρόσθετα (plugins). Μπορείτε να το εγκαταστήσετε τόσο από πακέτο, όσο και από το port, multimedia/xine. Το xine είναι ακόμα κάπως χοντροκομμένο, αλλά σίγουρα έχει ξεκινήσει καλά. Στην πράξη, το xine χρειάζεται είτε γρήγορο επεξεργαστή και κάρτα γραφικών, ή υποστήριξη της επέκτασης XVideo. Το γραφικό περιβάλλον είναι χρησιμοποιήσιμο, αλλά κάπως αδέξια φτιαγμένο. Την ώρα που γράφονταν αυτές οι γραμμές δεν διανέμονταν module μαζί με την εφαρμογή xine, ικανό να αναπαράγει DVD με CSS κωδικοποίηση. Υπάρχουν εκδόσεις από τρίτους κατασκευαστές οι οποίες έχουν ενσωματωμένο το παραπάνω module αλλά καμιά από αυτές δεν βρίσκεται στην συλλογή των ports του &os;. Σε σύγκριση με τον MPlayer, το xine κάνει περισσότερα για το χρήστη, αλλά την ίδια στιγμή, δεν επιτρέπει τόσο λεπτομερειακό έλεγχο. Το xine αποδίδει καλύτερα σε λειτουργία XVideo. Από προεπιλογή, το xine θα ξεκινήσει σε γραφικό περιβάλλον (GUI). Μπορείτε να χρησιμοποιήσετε το μενού για να ανοίξετε ένα συγκεκριμένο αρχείο: &prompt.user; xine Εναλλακτικά, μπορείτε να το καλέσετε να αναπαράγει ένα αρχείο απευθείας από την γραμμή εντολών, χωρίς τη χρήση του GUI: &prompt.user; xine -g -p mymovie.avi Τα Βοηθητικά Προγράμματα transcode Η εφαρμογή transcode δεν είναι πρόγραμμα αναπαραγωγής, αλλά μια σουίτα εργαλείων για επανακωδικοποίηση αρχείων video και ήχου. Με την εφαρμογή transcode, έχετε την δυνατότητα να αναμίξετε αρχεία video, να επισκευάσετε χαλασμένα αρχεία, χρησιμοποιώντας εργαλεία της γραμμής εντολών τα οποία χειρίζονται δεδομένα από τα κανάλια stdin/stdout. Μεγάλο πλήθος εφαρμογών μπορούν να καθοριστούν κατά τη διάρκεια της μεταγλώττισης του port multimedia/transcode και συνιστούμε την ακόλουθη γραμμή εντολών για τη μεταγλώττιση του transcode: &prompt.root; make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ WITH_MJPEG=yes -DWITH_XVID=yes Οι προτεινόμενες επιλογές είναι κατάλληλες για τους περισσότερους χρήστες. Για να σας δείξουμε τις ικανότητες του transcode, δείτε ένα παράδειγμα μετατροπής αρχείου DivX σε PAL MPEG-1 (PAL VCD): &prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd &prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa Το αρχείο MPEG που προκύπτει, το output_vcd.mpg, μπορεί να αναπαραχθεί από τον MPlayer. Μπορείτε επίσης να γράψετε το αρχείο σε ένα CD-R για να δημιουργήσετε ένα Video CD, και στην περίπτωση αυτή θα χρειαστεί να εγκαταστήσετε τα προγράμματα multimedia/vcdimager και sysutils/cdrdao. Υπάρχει σελίδα manual για το transcode, αλλά πρέπει επίσης να συμβουλευτείτε το transcode wiki για περισσότερες πληροφορίες και παραδείγματα. Επιπλέον Διάβασμα Υπάρχει ραγδαία εξέλιξη στα διαθέσιμα πακέτα video για το &os;. Είναι αρκετά πιθανό ότι στο άμεσο μέλλον πολλά από τα προβλήματα που αναφέρονται εδώ θα έχουν επιλυθεί. Στο ενδιάμεσο διάστημα, όσοι ενδιαφέρονται να χρησιμοποιήσουν τις δυνατότητες A/V του &os; στο έπακρο θα πρέπει να συνδυάσουν γνώσεις από διάφορα FAQ και tutorials και να χρησιμοποιήσουν αρκετές διαφορετικές εφαρμογές. Το τμήμα αυτό υπάρχει ακριβώς για να δείξει στον αναγνώστη που μπορεί να βρει τέτοιες πρόσθετες πληροφορίες. Η Τεκμηρίωση του Mplayer είναι αρκετά πληροφοριακή όσο αφορά το τεχνικό επίπεδο. Αν έχετε σκοπό να αποκτήσετε υψηλό ποσοστό εμπειρίας σε σχέση με το video στο &unix;, θα πρέπει οπωσδήποτε να την συμβουλευτείτε. Η λίστα αλληλογραφίας του MPlayer είναι εχθρική σε όποιον δεν έχει κάνει τον κόπο να διαβάσει την τεκμηρίωση, έτσι αν σκοπεύετε να κάνετε αναφορές σφαλμάτων, βεβαιωθείτε ότι την έχετε διαβάσει. Το xine HOWTO περιέχει ένα κεφάλαιο σχετικά με την βελτίωση της απόδοσης, το οποίο είναι κοινό για όλα τα προγράμματα αναπαραγωγής. Τέλος, υπάρχουν κάποιες άλλες πολλά υποσχόμενες εφαρμογές που ίσως επιθυμείτε να δοκιμάσετε: Το Avifile το οποίο είναι επίσης port, multimedia/avifile. Το Ogle το οποίο είναι επίσης port, multimedia/ogle. Το Xtheater Το multimedia/dvdauthor, το οποίο είναι εφαρμογή DVD authoring ανοικτού κώδικα. Josef El-Rayes Αρχική συνεισφορά από τον Marc Fonvieille Βελτιώθηκε και προσαρμόστηκε από τον Ρύθμιση Κάρτας Τηλεόρασης TV cards Εισαγωγή Οι κάρτες τηλεόρασης σας επιτρέπουν να βλέπετε τηλεόραση, κανονική ή καλωδιακή, στον υπολογιστή σας. Οι περισσότερες από αυτές δέχονται επίσης σήμα σύνθετου (composite) video, μέσω εισόδου RCA ή S-video, και κάποιες από αυτές διαθέτουν και ραδιοφωνικό δέκτη FM. Το &os; παρέχει υποστήριξη για κάρτες TV τύπου PCI που χρησιμοποιούν τα ολοκληρωμένα κυκλώματα σύλληψης video, Brooktree Bt848/849/878/879 ή Conexant CN-878/Fusion 878a με το πρόγραμμα οδήγησης &man.bktr.4;. Θα πρέπει επίσης να βεβαιωθείτε ότι η κάρτα έρχεται με δέκτη που υποστηρίζεται. Συμβουλευτείτε τη σελίδα manual του &man.bktr.4; για να δείτε τη λίστα των υποστηριζόμενων δεκτών. Εγκαθιστώντας το Πρόγραμμα Οδήγησης Για να χρησιμοποιήσετε την κάρτα θα πρέπει να φορτώσετε το πρόγραμμα οδήγησης &man.bktr.4;, προσθέτοντας την ακόλουθη γραμμή στο αρχείο /boot/loader.conf: bktr_load="YES" Εναλλακτικά, μπορείτε να προσθέσετε στατική υποστήριξη για την κάρτα στο πυρήνα σας, και για το σκοπό αυτό προσθέστε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων του πυρήνα: device bktr device iicbus device iicbb device smbus Οι επιπρόσθετοι οδηγοί συσκευών είναι απαραίτητοι, επειδή τα εξαρτήματα της κάρτας επικοινωνούν μεταξύ τους διαμέσου ενός διαύλου I2C. Αφού κάνετε τις απαραίτητες αλλαγές στο αρχείο, μεταγλωττίστε και εγκαταστήστε το νέο πυρήνα. Μόλις τελειώσετε με αυτή τη διαδικασία, θα πρέπει να επανεκκινήσετε το σύστημα σας. Κατά τη διάρκεια της εκκίνησης, θα πρέπει να δείτε κάποια μηνύματα από την κάρτα σας, όπως τα παρακάτω: bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0 iicbb0: <I2C bit-banging driver> on bti2c0 iicbus0: <Philips I2C bus> on iicbb0 master-only iicbus1: <Philips I2C bus> on iicbb0 master-only smbus0: <System Management Bus> on bti2c0 bktr0: Pinnacle/Miro TV, Philips SECAM tuner. Φυσικά, τα μηνύματα αυτά θα διαφέρουν ανάλογα με το υλικό σας. Ωστόσο θα πρέπει να ελέγξετε ότι ανιχνεύθηκε σωστά ο δέκτης. Είναι δυνατόν να αλλάξετε κάποιες από τις παραμέτρους που ανιχνεύθηκαν χρησιμοποιώντας MIBs του &man.sysctl.8; καθώς και επιλογές στο αρχείο ρυθμίσεων πυρήνα. Για παράδειγμα, να θέλετε να επιβάλετε ο δέκτης να είναι τύπου Philips SECAM, θα πρέπει να προσθέσετε την ακόλουθη γραμμή στο αρχείο ρυθμίσεων του πυρήνα σας: options OVERRIDE_TUNER=6 ή μπορείτε να χρησιμοποιήσετε απευθείας το &man.sysctl.8;: &prompt.root; sysctl hw.bt848.tuner=6 Δείτε τη σελίδα manual του &man.bktr.4; καθώς και το αρχείο /usr/src/sys/conf/NOTES για περισσότερες λεπτομέρειες σχετικά με τις διαθέσιμες επιλογές. Χρήσιμες Εφαρμογές Για να χρησιμοποιήσετε την κάρτα τηλεόρασης, θα πρέπει να εγκαταστήσετε μια από τις παρακάτω εφαρμογές: Το multimedia/fxtv παρέχει δυνατότητα να δείτε τηλεόραση σε παράθυρο, καθώς και την δυνατότητα σύλληψης εικόνας / ήχου / video. Το multimedia/xawtv είναι επίσης εφαρμογή τηλεόρασης, με δυνατότητες όμοιες με το fxtv. Το misc/alevt αποκωδικοποιεί και απεικονίζει Videotext/Teletext. Το audio/xmradio είναι μια εφαρμογή για να χρησιμοποιήσετε το δέκτη FM που είναι ενσωματωμένος σε κάποιες κάρτες τηλεόρασης. Το audio/wmtune είναι μια βολική desktop εφαρμογή για ραδιοφωνικούς δέκτες. Μπορείτε να βρείτε περισσότερες εφαρμογές στη συλλογή των Ports του &os;. Αντιμετώπιση Προβλημάτων Αν αντιμετωπίσετε κάποιο πρόβλημα με την κάρτα τηλεόρασης, θα πρέπει πρώτα να ελέγξετε αν το ολοκληρωμένο σύλληψης video καθώς και ο δέκτης υποστηρίζονται από το πρόγραμμα οδήγησης &man.bktr.4; και αν έχετε χρησιμοποιήσει τις σωστές ρυθμίσεις στις επιλογές σας. Για επιπλέον υποστήριξη καθώς και διάφορες ερωτήσεις σχετικά με την κάρτα σας, ίσως θέλετε να επικοινωνήσετε με τη λίστα &a.multimedia.name; και να διαβάσετε τις παλιότερες δημοσιεύσεις από τα αρχεία της λίστας. Marc Fonvieille Γράφηκε από τον Σαρωτές Εικόνας image scanners Εισαγωγή Στο &os; η πρόσβαση σε σαρωτές παρέχεται από το SANE (Scanner Access Now Easy) API το οποίο διατίθεται μέσα από την συλλογή των Ports του &os;. Το SANE χρησιμοποιεί επίσης κάποιους οδηγούς συσκευών του &os; για να αποκτήσει πρόσβαση στο υλικό του σαρωτή. Το &os; υποστηρίζει σαρωτές SCSI και USB. Βεβαιωθείτε ότι ο σαρωτής σας υποστηρίζεται από το SANE πριν ξεκινήσετε οποιαδήποτε εγκατάσταση και ρύθμιση. Το SANE διαθέτει μια λίστα υποστηριζόμενων συσκευών η οποία παρέχει πληροφορίες για την υποστήριξη κάθε σαρωτή και την εξέλιξη της. Σε συστήματα πριν το &os; 8.X θα βρείτε επίσης τη λίστα των υποστηριζόμενων USB σαρωτών στη σελίδα manual του &man.uscanner.4;. Ρύθμιση του Πυρήνα Όπως είπαμε παραπάνω, υποστηρίζονται σαρωτές τόσο SCSI όσο και USB. Ανάλογα με το τρόπο διασύνδεσης του σαρωτή σας, θα χρειαστείτε διαφορετικούς οδηγούς συσκευών. Διασύνδεση USB Ο πυρήνας GENERIC, από προεπιλογή, περιέχει τους οδηγούς συσκευών που απαιτούνται για την υποστήριξη σαρωτών USB. Αν αποφασίσετε να χρησιμοποιήσετε εξειδικευμένο πυρήνα, βεβαιωθείτε ότι έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων σας: device usb device uhci device ohci device ehci Σε συστήματα πριν το &os; 8.X, θα χρειαστείτε επίσης την παρακάτω γραμμή: device uscanner Σε αυτές τις εκδόσεις του &os;, η υποστήριξη των σαρωτών USB γίνεται μέσω της συσκευής &man.uscanner.4;. Από το &os; 8.0 και μετά, η υποστήριξη αυτή παρέχεται απευθείας από τη βιβλιοθήκη &man.libusb.3;. Αφού επανεκκινήσετε με το σωστό πυρήνα, συνδέστε το USB σαρωτή σας. Θα πρέπει να δείτε μια γραμμή σχετική με την ανίχνευση του σαρωτή στην προσωρινή μνήμη μηνυμάτων του συστήματος (&man.dmesg.8;): ugen0.2: <EPSON> at usbus0 ή σε ένα σύστημα &os; 7.X: uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2 Τα μηνύματα αυτά δείχνουν ότι ο σαρωτής μας χρησιμοποιεί την συσκευή /dev/ugen0.2 ή την συσκευή /dev/uscanner0 ανάλογα με την έκδοση του &os; που χρησιμοποιείται. Στο παράδειγμα μας, χρησιμοποιήσαμε ένα σαρωτή &epson.perfection; 1650 USB. Διασύνδεση Τύπου SCSI Αν ο σαρωτής σας έρχεται με διασύνδεση τύπου SCSI, είναι σημαντικό να γνωρίζετε τι κάρτα ελεγκτή SCSI θα χρησιμοποιήσετε. Ανάλογα με το ολοκληρωμένο κύκλωμα της κάρτας SCSI που χρησιμοποιείται, θα πρέπει να ρυθμίσετε κατάλληλα το αρχείο ρυθμίσεων πυρήνα. Ο πυρήνας GENERIC υποστηρίζει τους πιο κοινούς ελεγκτές SCSI. Βεβαιωθείτε ότι διαβάσατε το αρχείο NOTES και προσθέστε τη σωστή γραμμή στο αρχείο ρυθμίσεων πυρήνα. Εκτός από το πρόγραμμα οδήγησης του ελεγκτή SCSI, θα πρέπει ακόμα να έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων του πυρήνα σας: device scbus device pass Μόλις μεταγλωττίσετε και εγκαταστήσετε τον πυρήνα, θα μπορέσετε να δείτε τις συσκευές στην προσωρινή μνήμη μηνυμάτων συστήματος, κατά τη διάρκεια της εκκίνησης: pass2 at aic0 bus 0 target 2 lun 0 pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device pass2: 3.300MB/s transfers Αν ο σαρωτής σας δεν ήταν ενεργοποιημένος κατά την εκκίνηση του συστήματος σας, είναι ακόμα δυνατόν να εξαναγκάσετε τον εντοπισμό του, εκτελώντας ανίχνευση του διαύλου SCSI με την βοήθεια της εντολής &man.camcontrol.8;: &prompt.root; camcontrol rescan all Re-scan of bus 0 was successful Re-scan of bus 1 was successful Re-scan of bus 2 was successful Re-scan of bus 3 was successful Ο σαρωτής θα εμφανιστεί τότε στη λίστα των συσκευών SCSI: &prompt.root; camcontrol devlist <IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0) <IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1) <AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3) <PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0) Περισσότερες πληροφορίες σχετικά με τις συσκευές SCSI είναι διαθέσιμες στις σελίδες manual &man.scsi.4; και &man.camcontrol.8;. Ρύθμιση του SANE Το σύστημα SANE χωρίζεται σε δύο κομμάτια: στο backend (graphics/sane-backends) και στο frontend (graphics/sane-frontends). Το backend παρέχει πρόσβαση στον ίδιο το σαρωτή. Στη λίστα υποστηριζόμενων συσκευών του SANE μπορείτε να βρείτε ποιο backend υποστηρίζει τον σαρωτή σας. Είναι υποχρεωτικό να βρείτε το σωστό backend για να μπορέσετε να χρησιμοποιήσετε το σαρωτή σας. Το τμήμα του frontend παρέχει το γραφικό περιβάλλον εργασίας για τη σάρωση (xscanimage). Το πρώτο βήμα είναι να εγκαταστήσετε το port ή το πακέτο graphics/sane-backends. Μετά χρησιμοποιήστε την εντολή sane-find-scanner για να ελέγξετε την ανίχνευση του σαρωτή σας από το σύστημα SANE: &prompt.root; sane-find-scanner -q found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3 Η έξοδος θα σας δείξει το είδος σύνδεσης του σαρωτή καθώς και το όνομα συσκευής που χρησιμοποιείται για τη σύνδεση με το σύστημα σας. Το όνομα του κατασκευαστή και του μοντέλου ίσως να μην εμφανιστούν, αλλά αυτό δεν είναι σημαντικό. Ορισμένοι USB σαρωτές απαιτούν τη φόρτωση firmware. Η διαδικασία εξηγείται στη σελίδα manual του backend. Θα πρέπει επίσης να διαβάσετε τις σελίδες manual &man.sane-find-scanner.1; και &man.sane.7;. Πρέπει τώρα να ελέγξουμε αν ο σαρωτής θα αναγνωριστεί από το frontend πρόγραμμα σάρωσης. Από προεπιλογή, το SANE backend έρχεται με ένα εργαλείο γραμμής εντολών, το &man.scanimage.1;. Η εντολή αυτή σας επιτρέπει την απαρίθμηση των συσκευών και τη σάρωσης εικόνας από τη γραμμή εντολών. Η επιλογή χρησιμοποιείται για την απαρίθμηση των συσκευών σάρωσης: &prompt.root; scanimage -L device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner Ή για παράδειγμα με τον σαρωτή που χρησιμοποιήσαμε στο : &prompt.root; scanimage -L device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner Η παραπάνω έξοδος προέρχεται από ένα σύστημα &os; 8.X και η γραμμή 'epson2:libusb:/dev/usb:/dev/ugen0.2' μας πληροφορεί για το όνομα του backend (epson2) και το όνομα της συσκευής (/dev/ugen0.2) που χρησιμοποιεί ο σαρωτής μας. Αν δεν δείτε έξοδο, ή δείτε ένα μήνυμα ότι δεν ανιχνεύθηκε σαρωτής, σημαίνει ότι το &man.scanimage.1; δεν μπόρεσε να αναγνωρίσει το σαρωτή. Αν συμβεί αυτό, θα χρειαστεί να επεξεργαστείτε το αρχείο ρυθμίσεων του backend και να ορίσετε το σαρωτή που θα χρησιμοποιηθεί. Ο κατάλογος /usr/local/etc/sane.d/ περιέχει όλα τα αρχεία ρυθμίσεων του backend. Το πρόβλημα αναγνώρισης εμφανίζεται σε ορισμένα μοντέλα USB σαρωτών. Για παράδειγμα, με το σαρωτή USB που χρησιμοποιείται στο , η εντολή sane-find-scanner δίνει τις ακόλουθες πληροφορίες: &prompt.root; sane-find-scanner -q found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0 Ο σαρωτής βρέθηκε, χρησιμοποιεί διασύνδεση USB και το όνομα συσκευής του είναι /dev/uscanner0. Τώρα πρέπει να δούμε αν αναγνωρίζεται και σωστά: &prompt.root; scanimage -L No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). Αφού ο σαρωτής δεν αναγνωρίστηκε, θα χρειαστεί να επεξεργαστούμε το αρχείο /usr/local/etc/sane.d/epson2.conf. Το μοντέλο σαρωτή που χρησιμοποιήθηκε ήταν το &epson.perfection; 1650, έτσι ξέρουμε ότι ο σαρωτής θα χρησιμοποιεί το backend epson2. Βεβαιωθείτε ότι διαβάσατε τα βοηθητικά σχόλια στα αρχεία ρυθμίσεων του backend. Είναι αρκετά απλό να αλλάξετε γραμμές: Μετατρέψτε σε σχόλια όσες γραμμές δείχνουν λάθος τύπο διασύνδεσης για το σαρωτή σας (στην περίπτωση μας θα μετατρέψουμε σε σχόλια όλες τις γραμμές που ξεκινάνε με τη λέξη scsi καθώς ο σαρωτής μας χρησιμοποιεί διασύνδεση USB), και προσθέστε στο τέλος του αρχείου μια γραμμή που να ορίζει το είδος διασύνδεσης και το όνομα συσκευής που χρησιμοποιείτε. Στην περίπτωση μας προσθέσαμε την ακόλουθη γραμμή: usb /dev/uscanner0 Σας παρακαλούμε να βεβαιωθείτε ότι διαβάσατε τα σχόλια που παρέχονται στο αρχείο ρυθμίσεων του backend καθώς και στις αντίστοιχες σελίδες manual για περισσότερες λεπτομέρειες καθώς και για τη σύνταξη που πρέπει να χρησιμοποιήσετε. Μπορούμε τώρα να επιβεβαιώσουμε ότι ο σαρωτής αναγνωρίζεται: &prompt.root; scanimage -L device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner Ο USB σαρωτής μας αναγνωρίστηκε. Δεν είναι σημαντικό ότι η μάρκα και το μοντέλο δεν ταιριάζουν ακριβώς με το δικό μας. Το βασικό σημείο είναι το πεδίο `epson:/dev/uscanner0', το οποίο δείχνει το σωστό backend και όνομα συσκευής. Μόλις η εντολή scanimage -L μπορέσει να δει το σαρωτή, η ρύθμιση έχει ολοκληρωθεί. Η συσκευή είναι έτοιμη να χρησιμοποιηθεί. Αν και η &man.scanimage.1; μας επιτρέπει να σαρώσουμε εικόνα από τη γραμμή εντολών, είναι προτιμότερο να χρησιμοποιήσουμε κάποιο πρόγραμμα σε γραφικό περιβάλλον για την εργασία αυτή. Το SANE μας προσφέρει ένα απλό αλλά αποδοτικό γραφικό περιβάλλον: το xscanimage (graphics/sane-frontends). Το Xsane (graphics/xsane) είναι επίσης ένα δημοφιλές frontend πρόγραμμα σάρωσης. To frontend αυτό προσφέρει προχωρημένες δυνατότητες, όπως διαφορετικούς τρόπους σάρωσης (φωτοτυπία, fax, κλπ) διόρθωση χρωμάτων, πολλαπλή σάρωση κ.α. Και οι δύο αυτές εφαρμογές διατίθενται επίσης σαν πρόσθετο (plugin) πρόγραμμα για χρήση με το GIMP. Δίνοντας σε Άλλους Χρήστες Πρόσβαση στο Σαρωτή σας Όλες οι παραπάνω λειτουργίες έγιναν με τα προνόμια του χρήστη root. Μπορεί ωστόσο, να θέλετε να δώσετε πρόσβαση στο σαρωτή σας και σε άλλους χρήστες. Ο χρήστης χρειάζεται άδεια ανάγνωσης και εγγραφής στο αρχείο συσκευής που χρησιμοποιείται από το σαρωτή. Σαν παράδειγμα, ο σαρωτής μας χρησιμοποιεί το αρχείο συσκευής /dev/ugen0.2 το οποίο στην πραγματικότητα είναι ένας συμβολικός δεσμός προς το πραγματικό αρχείο συσκευής, το /dev/usb/0.2.0 (μπορείτε να το επιβεβαιώσετε εύκολα με μια ματιά στον κατάλογο /dev). Τόσο ο συμβολικός δεσμός όσο και το αρχείο συσκευής ανήκουν στις ομάδες wheel και operator. Αν προσθέσουμε το χρήστη joe σε αυτές τις ομάδες, θα μπορεί να χρησιμοποιήσει το σαρωτή. Για λόγους ασφαλείας όμως θα πρέπει να είμαστε ιδιαίτερα προσεκτικοί όταν προσθέτουμε ένα χρήστη σε μια ομάδα, ειδικά αν πρόκειται για την wheel. Μια καλύτερη λύση θα ήταν να δημιουργήσουμε μια ομάδα ειδικά για τη χρήση των συσκευών USB, και να επιτρέψουμε πρόσβαση στον σαρωτή στα μέλη της ομάδας αυτής. Για παράδειγμα, θα χρησιμοποιήσουμε μια ομάδα με το όνομα usb. Το πρώτο βήμα είναι η δημιουργία αυτής της ομάδας με τη βοήθεια της εντολής &man.pw.8;: &prompt.root; pw groupadd usb Θα πρέπει έπειτα να αλλάξουμε τα δικαιώματα του συμβολικού δεσμού /dev/ugen0.2 και του αρχείου συσκευής /dev/ugen0.2.0 ώστε να είναι προσβάσιμα από την ομάδα usb με δυνατότητα εγγραφής (δικαιώματα 0660 ή 0664). Από προεπιλογή, μόνο ο ιδιοκτήτης αυτών των αρχείων (ο root) έχει τα απαραίτητα δικαιώματα εγγραφής. Όλα τα παραπάνω μπορούν να γίνουν με τις παρακάτω γραμμές στο αρχείο /etc/devfs.rules: [system=5] add path ugen0.2 mode 660 group usb add path usb/0.2.0 mode 0660 group usb Οι χρήστες του &os; 7.X θα χρειαστούν τις παρακάτω γραμμές, με το σωστό αρχείο συσκευής (τις περισσότερες φορές θα είναι το /dev/uscanner0): [system=5] add path uscanner0 mode 0660 group usb Έπειτα, προσθέστε την ακόλουθη γραμμή στο αρχείο /etc/rc.conf και επανεκκινήστε το μηχάνημα: devfs_system_ruleset="system" Περισσότερες πληροφορίες σχετικά με αυτές τις γραμμές, μπορείτε να βρείτε στη σελίδα manual του &man.devfs.8;. Έπειτα από τα παραπάνω βήματα, για να δώσετε πρόσβαση στο USB σαρωτή σε κάποιο χρήστη, αρκεί να προσθέσετε το λογαριασμό του στην ομάδα usb: &prompt.root; pw groupmod usb -m joe Για περισσότερες λεπτομέρειες, διαβάστε τη σελίδα manual του &man.pw.8;. diff --git a/el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.sgml b/el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.sgml index 9df33baa61..4414111b4a 100644 --- a/el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.sgml @@ -1,3377 +1,3414 @@ Jim Mock Αναδομήθηκε, αναδιοργανώθηκε, και ανανεώθηκε από τον PPP και SLIP Σύνοψη PPP SLIP Το &os; διαθέτει πλήθος τρόπων για τη σύνδεση ενός υπολογιστή με ένα άλλο. Για να επιτύχετε σύνδεση μέσω modem στο Internet ή σε ένα άλλο δίκτυο, ή για να επιτρέψετε σε άλλους να συνδεθούν μέσω του συστήματος σας, απαιτείται η χρήση PPP ή SLIP. Το κεφάλαιο αυτό περιγράφει λεπτομερώς τον τρόπο ρύθμισης των παραπάνω υπηρεσιών για χρήση μέσω modem. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως να ρυθμίσετε το PPP χρήστη (User PPP). - Πως να ρυθμίσετε το PPP πυρήνα (Kernel PPP). + Πως να ρυθμίσετε το PPP πυρήνα (Kernel PPP, μόνο για + &os; 7.X). Πως να ρυθμίσετε το PPPoE (PPP μέσω Ethernet). Πως να ρυθμίσετε το PPPoA (PPP μέσω ATM). - Πως να ρυθμίσετε ένα πελάτη και εξυπηρετητή SLIP. + Πως να ρυθμίσετε ένα πελάτη και εξυπηρετητή SLIP (μόνο για + &os; 7.X). PPP user PPP PPP kernel PPP PPP over Ethernet Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να είστε εξοικειωμένος με τη βασική ορολογία των δικτύων. Να κατανοείτε τις βασικές έννοιες και το σκοπό των επιλογικών συνδέσεων και του PPP και/ή SLIP. Μπορεί να αναρωτιέστε ποια είναι η βασική διαφορά μεταξύ του PPP χρήστη και του PPP πυρήνα. Η απάντηση είναι απλή: το PPP χρήστη επεξεργάζεται τα δεδομένα εισόδου και εξόδου μέσω προγραμμάτων χρήστη (userland) αντί διαμέσου του πυρήνα του λειτουργικού. Αυτό προκαλεί κάποιες επιβαρύνσεις λόγω της αντιγραφής δεδομένων μεταξύ του πυρήνα και της εφαρμογής χρήστη, αλλά επιτρέπει κατά πολύ πιο πλούσια (από άποψη δυνατοτήτων) υλοποίηση του PPP πρωτοκόλλου. Το PPP χρήστη χρησιμοποιεί τη συσκευή tun για την επικοινωνία με τον έξω κόσμο, ενώ το PPP πυρήνα χρησιμοποιεί την συσκευή ppp. Σε όλο το κεφάλαιο, το PPP χρήστη θα αναφέρεται απλά ως ppp εκτός και αν χρειάζεται να γίνει διάκριση σε σχέση με άλλο λογισμικό PPP όπως το pppd. Εκτός αν αναφέρεται διαφορετικά, όλες οι εντολές που εξηγούνται στο κεφάλαιο αυτό θα πρέπει να εκτελούνται ως root. Tom Rhodes Ενημερώθηκε και βελτιώθηκε από τον Brian Somers Αρχική συνεισφορά του Nik Clayton Με τη βοήθεια των Dirk Frömberg Peter Childs Χρησιμοποιώντας το PPP Χρήστη + + Από το &os; 8.0 και μετά, τα ονόματα συσκευών για τις + σειριακές θύρες μετονομάστηκαν από + /dev/cuadN σε + /dev/cuauN και από + /dev/ttydN σε + /dev/ttyuN. + Οι χρήστες του &os; 7.X θα χρειαστεί να προσαρμόσουν τις + παρακάτω οδηγίες σύμφωνα με αυτές τις αλλαγές. + + PPP Χρήστη Προϋποθέσεις Το κείμενο αυτό προϋποθέτει ότι έχετε τα παρακάτω: ISP PPP Λογαριασμό σε κάποιο Παροχέα Υπηρεσιών Internet (ISP) στον οποίο συνδέεστε χρησιμοποιώντας PPP. Ένα modem ή άλλη συσκευή συνδεμένη στο σύστημα σας, και ρυθμισμένη σωστά ώστε να σας επιτρέπει να συνδεθείτε στον ISP σας. Τους αριθμούς κλήσης για τον ISP σας. PAP CHAP UNIX login name password Το όνομα χρήστη (login) και τον κωδικό σας (password). Είτε κανονικό όνομα και κωδικό (τύπου &unix;) ή ένα ζεύγος ονόματος / κωδικού τύπου PAP ή CHAP. nameserver Τις IP διευθύνσεις ενός ή περισσότερων διακομιστών ονομάτων (DNS). Φυσιολογικά, ο ISP σας θα σας δώσει δύο τέτοιες διευθύνσεις. Αν δεν έχετε τουλάχιστον μία, μπορείτε να ενεργοποιήσετε την εντολή enable dns στο ppp.conf και το ppp θα ρυθμίσει τους διακομιστές ονομάτων για σας. Το χαρακτηριστικό αυτό εξαρτάται από την υποστήριξη της διαπραγμάτευσης DNS από τον ISP σας. Ο ISP σας ενδεχομένως να σας δώσει και τις παρακάτω πληροφορίες, αλλά δεν είναι εντελώς απαραίτητες: Τη διεύθυνση IP για την πύλη (gateway) του ISP σας. Η πύλη είναι το μηχάνημα μέσω του οποίου συνδέεστε, και θα αποτελέσει την προεπιλεγμένη διαδρομή (default route) για το μηχάνημα σας. Αν δεν έχετε αυτή την πληροφορία, θα χρησιμοποιηθεί μια εικονική, και όταν συνδεθείτε θα λάβετε την κανονική διεύθυνση από τον διακομιστή PPP του ISP σας. Αυτή η διεύθυνση IP αναφέρεται ως HISADDR από το ppp. Τη μάσκα δικτύου (netmask) που πρέπει να χρησιμοποιήσετε. Αν ο ISP σας δε σας την παρέχει, μπορείτε με ασφάλεια να χρησιμοποιήσετε την τιμή 255.255.255.255. static IP address Αν ο ISP σας παρέχει στατική διεύθυνση και όνομα υπολογιστή (hostname) μπορείτε να χρησιμοποιήσετε αυτά. Διαφορετικά, θα αφήσουμε τον απομακρυσμένο υπολογιστή να δώσει όποια διεύθυνση IP θεωρεί κατάλληλη. Αν σας λείπουν κάποιες από τις απαιτούμενες πληροφορίες, επικοινωνήστε με τον ISP σας. Σε ολόκληρη την παρούσα ενότητα, πολλά από τα παραδείγματα που δείχνουν τα περιεχόμενα των αρχείων ρυθμίσεων, είναι αριθμημένα ανά γραμμή. Οι αριθμοί αυτοί εξυπηρετούν στην παρουσίαση και τη συζήτηση του κάθε παραδείγματος, και δεν πρέπει να γραφούν μέσα στο πραγματικό αρχείο. Είναι επίσης σημαντικό να τηρείτε η σωστή στοίχιση σε κάθε αρχείο, με τη χρήση στηλοθετών (tabs) και κενών διαστημάτων. Αυτόματη Ρύθμιση <application>PPP</application> PPP configuration Τόσο το ppp όσο και το pppd (η υλοποίηση του PPP σε επίπεδο πυρήνα) χρησιμοποιούν τα αρχεία ρυθμίσεων στον κατάλογο /etc/ppp. Μπορείτε να βρείτε παραδείγματα για το ppp χρήστη στον κατάλογο /usr/share/examples/ppp/. H ρύθμιση του ppp απαιτεί την τροποποίηση ενός αριθμού από αρχεία, ανάλογα με τις απαιτήσεις σας. Το τι θα βάλετε σε αυτά, εξαρτάται σε ένα ποσοστό από το αν ο ISP σας αποδίδει στατικές διευθύνσεις IP (δηλ. σας παρέχει μια διεύθυνση IP η οποία δεν αλλάζει) ή δυναμικές (δηλ. η IP διεύθυνση σας αλλάζει κάθε φορά που συνδέεστε στον ISP σας). PPP και Στατικές Διευθύνσεις IP PPP with static IP addresses Θα χρειαστεί να τροποποιήσετε το αρχείο ρυθμίσεων /etc/ppp/ppp.conf. Θα πρέπει να μοιάζει με αυτό που φαίνεται παρακάτω: Οι γραμμές που τελειώνουν με : ξεκινούν στην πρώτη στήλη (αρχή της γραμμής) — όλες οι άλλες γραμμές θα πρέπει να στοιχισθούν με τον τρόπο που φαίνεται, με τη χρήση κενών ή στηλοθετών. 1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION (built COMPILATIONDATE) -4 set device /dev/cuad0 +4 set device /dev/cuau0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 18 add default HISADDR Γραμμή 1: Αναγνωρίζει την προεπιλεγμένη καταχώριση. Οι εντολές σε αυτή την καταχώριση εκτελούνται αυτόματα, όταν εκτελείται το ppp. Γραμμή 2: Ενεργοποιεί την καταγραφή (logging) των παραμέτρων. Όταν οι ρυθμίσεις που έχουν γίνει λειτουργούν ικανοποιητικά, η γραμμή αυτή θα πρέπει να μικρύνει στην παρακάτω: set log phase tun για να αποφευχθούν μεγάλα μεγέθη στα αρχεία καταγραφής. Γραμμή 3: Λέει στο PPP πως να αναφέρει πληροφορίες για τον εαυτό του στην άλλη μεριά της σύνδεσης. Η διαδικασία αυτή γίνεται αν το PPP έχει πρόβλημα στην διαπραγμάτευση και ολοκλήρωση της σύνδεσης, παρέχοντας με αυτό τον τρόπο πληροφορίες στον απομακρυσμένο διαχειριστή. Οι πληροφορίες αυτές μπορεί να είναι χρήσιμες στην επίλυση του προβλήματος. Γραμμή 4: Αναγνωρίζει τη συσκευή στην οποία είναι συνδεμένο το modem. Η συσκευή COM1 είναι η - /dev/cuad0 + /dev/cuau0 και η COM2 είναι η - /dev/cuad1. + /dev/cuau1. Γραμμή 5: Καθορίζει την ταχύτητα με την οποία επιθυμείτε να συνδεθείτε. Αν δεν λειτουργεί η τιμή 115200 (η οποία πρέπει να λειτουργεί με κάθε σχετικά σύγχρονο modem), δοκιμάστε με 38400. Γραμμές 6 & 7: PPP user PPP Το αλφαριθμητικό που θα χρησιμοποιηθεί για την κλήση. Το PPP χρήστη χρησιμοποιεί σύνταξη expect-send παρόμοια με αυτή που χρησιμοποιεί το πρόγραμμα &man.chat.8;. Δείτε τη σελίδα manual για πληροφορίες σχετικά με τις δυνατότητες αυτής της γλώσσας. Σημειώστε ότι αυτή η εντολή συνεχίζει στην επόμενη γραμμή για λόγους αναγνωσιμότητας. Αυτό μπορεί να γίνει σε κάθε εντολή του ppp.conf, εφόσον το \ είναι ο τελευταίος χαρακτήρας της γραμμής. Γραμμή 8: Καθορίζει το χρόνο τερματισμού λόγω αδράνειας της σύνδεσης. Τα 180 δευτερόλεπτα είναι η προεπιλεγμένη τιμή, έτσι η γραμμή αυτή είναι εδώ καθαρά διακοσμητική. Γραμμή 9: Λέει στο PPP να ρωτήσει την άλλη πλευρά για να επιβεβαιώσει τις τοπικές ρυθμίσεις του resolver. Αν εκτελείτε τοπικό διακομιστή ονομάτων (DNS), θα πρέπει να μετατρέψετε αυτή τη γραμμή σε σχόλιο ή να την αφαιρέσετε. Γραμμή 10: Κενή γραμμή ώστε η ανάγνωση του αρχείου να είναι πιο εύκολη. Οι κενές γραμμές αγνοούνται από το PPP. Γραμμή 11: Αναγνωρίζει την καταχώριση ενός παροχέα με το όνομα provider. Μπορείτε εδώ να χρησιμοποιήσετε το όνομα του ISP σας, ώστε αργότερα να ξεκινάτε τη σύνδεση σας με την επιλογή . Γραμμή 12: Θέτει τον αριθμό κλήσης για αυτό τον παροχέα. Μπορείτε να καθορίσετε πολλαπλούς αριθμούς κλήσης χρησιμοποιώντας άνω-κάτω τελεία (:) ή τον χαρακτήρα (|) ως διαχωριστικό. Η διαφορά μεταξύ των δύο διαχωριστικών περιγράφεται στο &man.ppp.8;. Περιληπτικά, αν θέλετε να δοκιμάζονται κυκλικά όλοι οι αριθμοί, χρησιμοποιήστε την άνω-κάτω τελεία. Αν θέλετε να γίνεται πάντοτε απόπειρα κλήσης του πρώτου αριθμού και οι υπόλοιποι να δοκιμάζονται μόνο αν ο πρώτος αποτύχει, χρησιμοποιήστε το χαρακτήρα παροχέτευσης. Να γράφετε πάντοτε όλο το σύνολο των τηλεφωνικών αριθμών με τον τρόπο που φαίνεται. Αν ο αριθμός τηλεφώνου περιέχει κενά, θα πρέπει να τον περικλείσετε σε εισαγωγικά ("). Η παράλειψη τους, αν και είναι απλό σφάλμα, μπορεί να προκαλέσει προβλήματα που δεν μπορούν να εντοπιστούν εύκολα. Γραμμές 13 & 14: Αναγνωρίζει το όνομα χρήστη και τον κωδικό του. Όταν συνδέεστε χρησιμοποιώντας προτροπή τύπου &unix;, οι τιμές αυτές αναφέρονται από την εντολή set login χρησιμοποιώντας τις μεταβλητές \U και \P. Όταν συνδέεστε με χρήση PAP ή CHAP, οι τιμές αυτές χρησιμοποιούνται την ώρα της πιστοποίησης ταυτότητας του χρήστη. Γραμμή 15: PAP CHAP Αν χρησιμοποιείτε PPP ή CHAP, δεν θα υπάρχει στο σημείο αυτό προτροπή εισόδου (login), και θα πρέπει να μετατρέψετε τη γραμμή αυτή σε σχόλιο ή να την αφαιρέσετε. Δείτε την Πιστοποίηση PAP και CHAP για περισσότερες λεπτομέρειες. Το αλφαριθμητικό εισόδου χρησιμοποιεί σύνταξη παρόμοια με το &man.chat.8;, όπως συμβαίνει και με το αλφαριθμητικό κλήσης. Στο παράδειγμα μας, το αλφαριθμητικό χρησιμοποιείται για μια υπηρεσία στην οποία η συνεδρία εισόδου μοιάζει με την παρακάτω: J. Random Provider login: foo password: bar protocol: ppp Θα χρειαστεί να αλλάξετε αυτό το script ανάλογα με τις ανάγκες σας. Όταν γράφετε αυτό το script την πρώτη φορά, βεβαιωθείτε ότι έχετε ενεργοποιήσει το αρχείο καταγραφής για το chat ώστε να μπορείτε να προσδιορίσετε αν η διαδικασία αναγνώρισης προχωράει σωστά. Γραμμή 16: timeout Θέτει το χρόνο αδράνειας (σε δευτερόλεπτα) για τη σύνδεση. Εδώ, η σύνδεση θα κλείσει αυτόματα αν δεν υπάρχει κίνηση για 300 δευτερόλεπτα. Αν δεν θέλετε να γίνεται ποτέ τερματισμός της σύνδεσης λόγω αδράνειας, θέστε αυτή τη τιμή σε μηδέν, ή χρησιμοποιήστε την επιλογή στη γραμμή εντολής. Γραμμή 17: ISP Θέτει τη διεύθυνση της διεπαφής. Το αλφαριθμητικό x.x.x.x θα πρέπει να αντικατασταθεί με τη διεύθυνση IP που σας έχει αποδοθεί από τον παροχέα σας. Το αλφαριθμητικό y.y.y.y θα πρέπει να αντικατασταθεί με την διεύθυνση IP που έχει καθορίσει ο ISP σας ως πύλη (gateway, το μηχάνημα στο οποίο συνδέεστε). Αν ο ISP σας δεν σας έχει δώσει διεύθυνση πύλης, χρησιμοποιήστε την 10.0.0.2/0. Αν πρέπει να χρησιμοποιήσετε μια IP διεύθυνση που έχετε μαντέψει, βεβαιωθείτε ότι έχετε δημιουργήσει μια καταχώριση στο /etc/ppp/ppp.linkup σύμφωνα με τις οδηγίες για το PPP και Δυναμικές IP Διευθύνσεις. Αν παραλείψετε αυτή τη γραμμή, το ppp δεν θα μπορεί να εκτελεστεί σε κατάσταση . Γραμμή 18: Προσθέστε μια προεπιλεγμένη διαδρομή (default route) προς το μηχάνημα πύλης (gateway) του ISP σας. Η ειδική λέξη HISADDR αντικαθίσταται με την διεύθυνση πύλης που καθορίζεται στη γραμμή 17. Είναι σημαντικό η γραμμή αυτή να εμφανίζεται μετά την γραμμή 17, διαφορετικά το HISADDR δεν θα έχει ακόμα λάβει αρχική τιμή. Αν δεν επιθυμείτε να εκτελέσετε το ppp σε κατάσταση , θα πρέπει να μετακινήσετε αυτή τη γραμμή στο αρχείο ppp.linkup. Δεν είναι απαραίτητο να προσθέσετε καταχώριση στο αρχείο ppp.linkup όταν έχετε στατική διεύθυνση IP και εκτελείτε το ppp σε κατάσταση . Στην περίπτωση αυτή, οι καταχωρίσεις σας στον πίνακα δρομολόγησης είναι σωστές πριν καν συνδεθείτε. Ίσως ωστόσο να θέλετε να δημιουργήσετε μια καταχώριση για να εκτελέσετε κάποια προγράμματα μετά την αποκατάσταση της σύνδεσης. Θα το εξηγήσουμε αυτό αργότερα σε ένα παράδειγμα με το sendmail. Μπορείτε να βρείτε παραδείγματα αρχείων ρυθμίσεων στον κατάλογο usr/share/examples/ppp/. PPP και Δυναμικές Διευθύνσεις IP PPP with dynamic IP addresses IPCP Αν ο παροχέας σας δεν δίνει στατικές διευθύνσεις, το ppp μπορεί να ρυθμιστεί να διαπραγματεύεται την τοπική και την απομακρυσμένη διεύθυνση. Αυτό γίνεται μαντεύοντας μια διεύθυνση IP, και επιτρέποντας στο ppp να την θέσει έπειτα σωστά, χρησιμοποιώντας το πρωτόκολλο IPCP (IP Configuration Protocol) μετά τη σύνδεση. Το αρχείο ρυθμίσεων ppp.conf είναι το ίδιο όπως και στο PPP και Στατικές Διευθύνσεις IP, με την παρακάτω μόνο αλλαγή: 17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 Όπως και προηγουμένως, δεν πρέπει να περιλάβετε τον αριθμό γραμμής. Απαιτείται εσοχή ενός τουλάχιστον κενού διαστήματος. Γραμμή 17: Ο αριθμός μετά το χαρακτήρα / είναι το πλήθος των bits της διεύθυνσης για το οποίο θα επιμείνει το ppp. Ίσως θέλετε να χρησιμοποιήσετε αριθμούς IP πιο κατάλληλους για την περίσταση, αλλά το παράδειγμα που δίνουμε παραπάνω θα λειτουργήσει πάντα. Το τελευταίο όρισμα (το 0.0.0.0) λέει στο PPP να αρχίσει τις διαπραγματεύσεις με την διεύθυνση 0.0.0.0 αντί για την 10.0.0.1. Αυτό είναι απαραίτητο σε ορισμένους ISP. Μη χρησιμοποιήσετε το 0.0.0.0 ως πρώτο όρισμα στην set ifaddr, καθώς θα εμποδίσει την PPP να ρυθμίσει την αρχική διαδρομή στην κατάσταση . Αν δεν χρησιμοποιείτε την επιλογή , θα χρειαστεί να δημιουργήσετε μια καταχώριση στο αρχείο /etc/ppp/ppp.linkup. Το αρχείο ppp.linkup χρησιμοποιείται μετά την αποκατάσταση της σύνδεσης. Στο σημείο αυτό, το ppp θα έχει ήδη αποδώσει διεύθυνση στην διεπαφή και θα είναι πλέον δυνατόν να προσθέσετε τις καταχωρίσεις στον πίνακα δρομολόγησης: 1 provider: 2 add default HISADDR Γραμμή 1: Με την αποκατάσταση της σύνδεσης, το ppp θα ψάξει για μια καταχώριση στο ppp.linkup σύμφωνα με τους παρακάτω κανόνες: Αρχικά θα προσπαθήσει να ταιριάξει την πρώτη ετικέτα που έχει χρησιμοποιηθεί στο αρχείο ppp.conf. Αν αυτό αποτύχει, θα ψάξει για μια καταχώριση για την διεύθυνση IP της πύλης. Η καταχώριση αυτή είναι μια ετικέτα μορφής IP διεύθυνσης, με τέσσερις οκτάδες. Αν δεν έχει ακόμα βρεθεί η σωστή καταχώριση, θα γίνει ανίχνευση για την καταχώριση MYADDR. Γραμμή 2: Η γραμμή αυτή λέει στο ppp να προσθέσει μια προεπιλεγμένη διαδρομή η οποία να δείχνει στο HISADDR. Το HISADDR θα αντικατασταθεί με τη διεύθυνση IP της πύλης όπως αυτή αποδόθηκε μέσω του πρωτοκόλλου IPCP. Δείτε την καταχώριση pmdemand στα αρχεία /usr/share/examples/ppp/ppp.conf.sample και /usr/share/examples/ppp/ppp.linkup.sample για ένα πιο λεπτομερές παράδειγμα. Λήψη Εισερχόμενων Κλήσεων PPP receiving incoming calls Όταν ρυθμίζετε το ppp να λαμβάνει εισερχόμενες κλήσεις σε ένα μηχάνημα που συνδέεται σε ένα τοπικό δίκτυο (LAN), θα πρέπει να αποφασίσετε αν θέλετε να προωθούνται πακέτα προς αυτό. Αν ναι, θα πρέπει να αποδώσετε στο μηχάνημα μια διεύθυνση IP η οποία να ανήκει στο ίδιο υποδίκτυο με το LAN, και να χρησιμοποιήσετε την εντολή enable proxy στο αρχείο /etc/ppp/ppp.conf. Θα πρέπει επίσης να επιβεβαιώσετε ότι το αρχείο /etc/rc.conf περιέχει τα παρακάτω: gateway_enable="YES" Ποιο getty; Η ενότητα Υπηρεσία Εισόδου μέσω Επιλογικής Σύνδεσης (dial in) παρέχει μια καλή περιγραφή σχετικά με την ενεργοποίηση υπηρεσιών επιλογικών κλήσεων χρησιμοποιώντας την &man.getty.8;. Μια εναλλακτική στην getty είναι η mgetty, + url="http://mgetty.greenie.net/">mgetty (από το πακέτο + comms/mgetty+sendfax), μια πιο έξυπνη έκδοση της getty, η οποία έχει σχεδιαστεί για να λαμβάνει υπόψιν τις επιλογικές γραμμές. Τα πλεονεκτήματα της mgetty είναι ότι επικοινωνεί ενεργά με τα modem, το οποίο σημαίνει ότι αν η θύρα είναι απενεργοποιημένη στο /etc/ttys, το modem σας δεν θα απαντήσει στην κλήση. Μεταγενέστερες εκδόσεις της mgetty (από την 0.99beta και μετά) υποστηρίζουν επίσης αυτόματη ανίχνευση PPP streams, επιτρέποντας στους πελάτες σας πρόσβαση στον εξυπηρετητή χωρίς χρήση scripts. Διαβάστε την ενότητα Mgetty και AutoPPP για περισσότερες πληροφορίες σχετικά με την mgetty. Άδειες για το <application>PPP</application> Φυσιολογικά, η εκτέλεση της εντολής ppp πρέπει να γίνεται ως χρήστης root. Αν ωστόσο θέλετε να επιτρέψετε την εκτέλεση του ppp σε κατάσταση εξυπηρετητή ως κανονικός χρήστης (με τον τρόπο που περιγράφεται παρακάτω) θα πρέπει να δώσετε σε αυτό το χρήστη τα κατάλληλα δικαιώματα για να εκτελεί το ppp, προσθέτοντας τον στην ομάδα network στο αρχείο /etc/group. Θα πρέπει επίσης να τους δώσετε πρόσβαση σε ένα ή περισσότερα τμήματα του αρχείου ρυθμίσεων, χρησιμοποιώντας την εντολή allow: allow users fred mary Αν χρησιμοποιήσετε την επιλογή αυτή στο τμήμα default, θα δώσετε σε αυτούς τους χρήστες πρόσβαση σε όλες τις ρυθμίσεις. Κελύφη PPP για Χρήστες με Δυναμικά IP PPP shells Δημιουργήστε ένα αρχείο με το όνομα /etc/ppp/ppp-shell το οποίο να περιέχει τα παρακάτω: #!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT Το script αυτό θα πρέπει να γίνει εκτελέσιμο. Δημιουργήστε τώρα ένα συμβολικό δεσμό που να ονομάζεται ppp-dialup χρησιμοποιώντας τις παρακάτω εντολές: &prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialup Θα πρέπει να χρησιμοποιήσετε αυτό το script ως το κέλυφος για όλους τους dialup χρήστες. Εδώ φαίνεται ένα παράδειγμα του /etc/passwd για ένα χρήστη dialup με όνομα pchilds (θυμηθείτε ότι δεν πρέπει να τροποποιείτε άμεσα το αρχείο των κωδικών, αλλά μέσω της εντολής &man.vipw.8;). pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup Δημιουργήστε ένα κατάλογο /home/ppp προσβάσιμο για ανάγνωση από όλους, ο οποίος θα περιέχει τα παρακάτω κενά αρχεία: -r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts τα οποία εμποδίζουν την εμφάνιση του μηνύματος από το αρχείο /etc/motd. Κελύφη PPP για Χρήστες με Στατικό IP PPP shells Δημιουργήστε το αρχείο ppp-shell όπως φαίνεται παραπάνω, και για κάθε λογαριασμό με στατικό IP, δημιουργήστε ένα συμβολικό δεσμό προς το ppp-shell. Για παράδειγμα, αν έχετε τρεις πελάτες dialup, τους fred, sam, και mary, στους οποίους εκτελείτε δρομολόγηση /24 CIDR, θα πρέπει να γράψετε τα παρακάτω: &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary Για κάθε λογαριασμό χρήστη dialup, θα πρέπει να ρυθμιστεί το κέλυφος στο συμβολικό δεσμό που δημιουργήθηκε παραπάνω (για παράδειγμα ο συμβολικός δεσμός για το κέλυφος του χρήστη mary θα πρέπει να είναι ο /etc/ppp/ppp-mary). Ρύθμιση του <filename>ppp.conf</filename> για Χρήστες με Δυναμικό IP Το αρχείο /etc/ppp/ppp.conf θα πρέπει να περιέχει κάτι αντίστοιχο με το παρακάτω: default: set debug phase lcp chat set timeout 0 -ttyd0: +ttyu0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy -ttyd1: +ttyu1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy Η στοίχιση είναι σημαντική. Για κάθε συνεδρία, φορτώνεται η ενότητα default:. Για κάθε γραμμή dialup που ενεργοποιείται στο /etc/ttys, θα πρέπει να δημιουργήσετε μια καταχώριση όμοια με αυτή που φαίνεται παραπάνω - για το ttyd0:. Κάθε γραμμή θα πρέπει να + για το ttyu0:. Κάθε γραμμή θα πρέπει να παίρνει μια μοναδική διεύθυνση IP από το απόθεμα των IP διευθύνσεων που προορίζονται για τους δυναμικούς χρήστες. Ρύθμιση του <filename>ppp.conf</filename> για Χρήστες με Στατικό IP Εκτός από τα περιεχόμενα του υποδείγματος /usr/share/examples/ppp/ppp.conf θα πρέπει να προσθέσετε μια ενότητα για καθένα από τους χρήστες dialup στους οποίους έχει αποδοθεί στατικό IP. Θα συνεχίσουμε με το παράδειγμα μας με τους χρήστες fred, sam, και mary. fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255 Το αρχείο /etc/ppp/ppp.linkup θα πρέπει επίσης να περιέχει πληροφορίες δρομολόγησης για κάθε χρήστη με στατικό IP (αν απαιτείται). Η παρακάτω γραμμή θα προσθέσει μια διαδρομή προς τη διεύθυνση δικτύου 203.14.101.0/24 μέσω της σύνδεσης ppp του πελάτη. fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR <command>mgetty</command> και AutoPPP mgetty AutoPPP LCP - Η ρύθμιση και μεταγλώττιση του mgetty με - ενεργή την επιλογή AUTO_PPP, θα επιτρέψει στην - mgetty να ανιχνεύει την φάση LCP των συνδέσεων - PPP και να εκτελεί αυτόματα ένα κέλυφος ppp. Ωστόσο, καθώς με - αυτό τον τρόπο δεν ενεργοποιείται η προεπιλεγμένη ακολουθία - ονόματος χρήστη και κωδικού, είναι απαραίτητο να γίνει - πιστοποίηση των χρηστών με τη χρήση PAP ή CHAP. + Το port + comms/mgetty+sendfax, έρχεται + με προεπιλεγμένη την επιλογή AUTO_PPP, + επιτρέποντας έτσι στην mgetty να ανιχνεύει την + φάση LCP των συνδέσεων PPP και να εκτελεί αυτόματα ένα κέλυφος + ppp. Ωστόσο, καθώς με αυτό τον τρόπο δεν ενεργοποιείται η + προεπιλεγμένη ακολουθία ονόματος χρήστη και κωδικού, είναι + απαραίτητο να γίνει πιστοποίηση των χρηστών με τη χρήση PAP ή + CHAP. Η ενότητα αυτή προϋποθέτει ότι ο χρήστης έχει ρυθμίσει, - μεταγλωττίσει και εγκαταστήσει με επιτυχία μια έκδοση της - mgetty με την επιλογή - AUTO_PPP (έκδοση v0.99beta ή - μεταγενέστερη). + μεταγλωττίσει και εγκαταστήσει με επιτυχία το port comms/mgetty+sendfax στο σύστημα + του. Βεβαιωθείτε ότι το αρχείο σας /usr/local/etc/mgetty+sendfax/login.config περιέχει τα παρακάτω: /AutoPPP/ - - /etc/ppp/ppp-pap-dialup Αυτό θα πει στην mgetty να εκτελέσει το script ppp-pap-dialup για τις PPP συνδέσεις που ανιχνεύθηκαν. Δημιουργήστε ένα αρχείο με το όνομα /etc/ppp/ppp-pap-dialup το οποίο θα περιέχει τα ακόλουθα (το αρχείο θα πρέπει να είναι εκτελέσιμο): #!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT Για κάθε γραμμή dialup που είναι ενεργοποιημένη στο /etc/ttys, δημιουργήστε μια αντίστοιχη καταχώριση στο αρχείο /etc/ppp/ppp.conf. Η καταχώριση αυτή μπορεί να συνυπάρχει χωρίς πρόβλημα με αυτές που ορίσαμε παραπάνω. pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy Κάθε χρήστης που εισέρχεται με αυτό τον τρόπο, θα πρέπει να διαθέτει όνομα χρήστη/κωδικό στο αρχείο /etc/ppp/ppp.secret. Εναλλακτικά, μπορείτε να προσθέσετε την παρακάτω επιλογή ώστε να γίνεται πιστοποίηση των χρηστών μέσω PAP με βάση τα στοιχεία του αρχείου /etc/passwd. enable passwdauth Αν θέλετε να αποδώσετε στατικό IP σε κάποιους χρήστες, μπορείτε να καθορίσετε την διεύθυνση ως τρίτο όρισμα στο αρχείο /etc/ppp/ppp.secret. Για παραδείγματα, δείτε το αρχείο /usr/share/examples/ppp/ppp.secret.sample. Επεκτάσεις MS DNS NetBIOS PPP Microsoft extensions Είναι δυνατόν να ρυθμίσετε το PPP ώστε να παρέχει διευθύνσεις DNS και NetBIOS κατά απαίτηση. Για να ενεργοποιήσετε αυτές τις επεκτάσεις με την έκδοση 1.x του PPP, θα πρέπει να προσθέσετε τις παρακάτω γραμμές στο σχετικό τμήμα του /etc/ppp/ppp.conf. enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5 Για το PPP από την έκδοση 2 και πάνω: accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5 Το παραπάνω θα ενημερώσει τους πελάτες για τον κύριο και δευτερεύοντα εξυπηρετητή DNS, και για τον εξυπηρετητή ονομάτων NetBIOS. Από την έκδοση 2 και πάνω, αν παραλειφθεί η γραμμή set dns, το PPP θα χρησιμοποιήσει τις γραμμές που θα βρει στο /etc/resolv.conf. Πιστοποίηση PAP και CHAP PAP CHAP Κάποιοι ISP ρυθμίζουν τα συστήματα τους με τέτοιο τρόπο, ώστε το κομμάτι της σύνδεσης που ασχολείται με την πιστοποίηση του χρήστη να γίνεται μέσω των μηχανισμών PAP ή CHAP. Αν συμβαίνει αυτό στη δική σας περίπτωση, ο ISP σας δεν θα σας στείλει προτροπή login όταν συνδεθείτε, αλλά θα αρχίσει απευθείας τη μετάδοση PPP. Το PAP είναι λιγότερο ασφαλές από το CHAP, αλλά η ασφάλεια εδώ δεν είναι τόσο σπουδαίο θέμα, καθώς οι κωδικοί (αν και στέλνονται ως κανονικό κείμενο) μεταδίδονται μόνο μέσω σειριακής γραμμής. Έτσι δεν υπάρχει πραγματική δυνατότητα των crackers να κρυφακούσουν. Χρησιμοποιώντας ως αναφορά τις ενότητες PPP και Στατικές Διευθύνσεις IP ή PPP και Δυναμικές Διευθύνσεις IP, θα πρέπει να γίνουν οι παρακάτω αλλαγές: 13 set authname MyUserName 14 set authkey MyPassword 15 set login Γραμμή 13: Η γραμμή αυτή καθορίζει το όνομα χρήστη για τα PAP/CHAP. Θα χρειαστεί να εισάγετε την σωστή τιμή για το MyUserName. Γραμμή 14: password Η γραμμή αυτή καθορίζει τον κωδικό για τα PAP/CHAP. Θα χρειαστεί να εισάγετε την σωστή τιμή για το MyPassword. Ίσως θέλετε να προσθέσετε μια ακόμα γραμμή, όπως την παρακάτω: 16 accept PAP ή 16 accept CHAP για να είναι φανερή η πρόθεση σας, ωστόσο τόσο το PAP όσο και το CHAP γίνονται δεκτά από προεπιλογή. Γραμμή 15: Ο ISP σας δεν θα απαιτεί φυσιολογικά να εισέλθετε στον εξυπηρετητή αν χρησιμοποιείτε PAP ή CHAP. Για το λόγο αυτό, θα πρέπει να απενεργοποιήσετε το αλφαριθμητικό set login. Αλλάζοντας Άμεσα τις Ρυθμίσεις του <command>ppp</command> Είναι δυνατόν να επικοινωνήσετε με το πρόγραμμα ppp καθώς εκτελείται στον παρασκήνιο, αλλά μόνο αν έχετε ρυθμίσει μια κατάλληλη διαγνωστική θύρα για αυτό το σκοπό. Για να το κάνετε αυτό, προσθέστε την παρακάτω γραμμή στις ρυθμίσεις σας: set server /var/run/ppp-tun%d DiagnosticPassword 0177 Αυτό οδηγεί το PPP να ακούει στο καθορισμένο &unix; socket του τομέα, και να ρωτάει τους πελάτες για τον κωδικό που έχει καθοριστεί πριν επιτρέψει την πρόσβαση. Το %d στο όνομα, αντικαθίσταται με τον αριθμό της συσκευής tun που χρησιμοποιείται. Από τη στιγμή που ρυθμιστεί το socket, το πρόγραμμα &man.pppctl.8; μπορεί να χρησιμοποιηθεί σε scripts με τα οποία επιθυμείτε να διαχειριστείτε το πρόγραμμα ppp το οποίο εκτελείται ήδη. Χρησιμοποιώντας τη Δυνατότητα Μετάφρασης Διευθύνσεων (NAT) του PPP PPPNAT Το PPP έχει την ικανότητα να χρησιμοποιήσει δικό του εσωτερικό NAT, χωρίς να απαιτούνται οι ικανότητες ανακατεύθυνσης του πυρήνα. Μπορείτε να ενεργοποιήσετε αυτή τη λειτουργία με την ακόλουθη γραμμή στο /etc/ppp/ppp.conf: nat enable yes Εναλλακτικά, το NAT του PPP μπορεί να ενεργοποιηθεί με την επιλογή -nat στην γραμμή εντολών. Μπορείτε ακόμα να βάλετε την επιλογή ppp_nat στο αρχείο /etc/rc.conf. Η επιλογή αυτή είναι ενεργοποιημένη από προεπιλογή. Αν χρησιμοποιήσετε αυτό το χαρακτηριστικό, μάλλον θα βρείτε χρήσιμες και τις παρακάτω επιλογές για το /etc/ppp/ppp.conf, με τις οποίες ενεργοποιείται η προώθηση εισερχόμενων συνδέσεων: nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http ή αν δεν εμπιστεύεστε καθόλου το εξωτερικό δίκτυο: nat deny_incoming yes Τελικές Ρυθμίσεις Συστήματος PPPconfiguration Έχετε πλέον ρυθμίσει το ppp, αλλά υπάρχουν μερικά ακόμα πράγματα που πρέπει να κάνετε πριν να είναι έτοιμο για λειτουργία. Όλα περιλαμβάνουν την επεξεργασία του αρχείου /etc/rc.conf. Ξεκινώντας από την αρχή του αρχείου αυτού, βεβαιωθείτε ότι είναι ορισμένη η γραμμή hostname=, π.χ.: hostname="foo.example.com" Αν ο ISP σας παρέχει στατική IP διεύθυνση και όνομα, είναι μάλλον καλύτερο να χρησιμοποιήσετε αυτό το όνομα ως όνομα για το μηχάνημα σας. Ψάξτε για τη μεταβλητή network_interfaces. Αν θέλετε να ρυθμίσετε το σύστημα σας να καλεί τον ISP σας κατά απαίτηση, βεβαιωθείτε ότι υπάρχει στη λίστα η συσκευή tun0, διαφορετικά αφαιρέστε την. network_interfaces="lo0 tun0" ifconfig_tun0= Η μεταβλητή ifconfig_tun0 θα πρέπει να είναι άδεια, και θα πρέπει να δημιουργηθεί ένα αρχείο με όνομα /etc/start_if.tun0. Το αρχείο αυτό θα πρέπει να περιέχει την παρακάτω γραμμή: ppp -auto mysystem Το script αυτό εκτελείται κατά τη διάρκεια ρύθμισης του δικτύου, ξεκινώντας έτσι το δαίμονα ppp σε κατάσταση αυτόματης λειτουργίας. Αν διαθέτετε κάποιο τοπικό δίκτυο (LAN) για το οποίο το μηχάνημα αυτό έχει το ρόλο της πύλης, ίσως να θέλετε επίσης να χρησιμοποιήσετε την επιλογή . Δείτε τη σελίδα manual για περισσότερες λεπτομέρειες. Βεβαιωθείτε ότι η μεταβλητή για το πρόγραμμα router έχει τεθεί στο NO μέσω της επόμενης γραμμής στο /etc/rc.conf: router_enable="NO" routed Είναι σημαντικό να μην ξεκινήσει ο δαίμονας routed, ο οποίος συνήθως διαγράφει τις προεπιλεγμένες τιμές του πίνακα δρομολόγησης που δημιουργούνται από το ppp. Είναι μάλλον καλή ιδέα να εξασφαλίσετε ότι η γραμμή sendmail_flags δεν περιλαμβάνει την επιλογή , διαφορετικά το sendmail θα προσπαθεί κάθε τόσο να κάνει αναζήτηση του δικτύου, με πιθανό αποτέλεσμα το μηχάνημα σας να εκτελεί τηλεφωνική σύνδεση (dial out). Μπορείτε να δοκιμάσετε: sendmail_flags="-bd" sendmail Το μειονέκτημα του παραπάνω, είναι ότι πρέπει να εξαναγκάσετε το sendmail να επανεξετάσει την ουρά των μηνυμάτων, κάθε φορά που αποκαθίσταται η σύνδεση ppp, γράφοντας: &prompt.root; /usr/sbin/sendmail -q Ίσως θέλετε να χρησιμοποιήσετε την εντολή !bg στο ppp.linkup για να γίνεται το παραπάνω αυτόματα: 1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m SMTP Αν αυτό δεν σας αρέσει, είναι δυνατόν να ρυθμίσετε ένα dfilter το οποίο να αποκόπτει την κίνηση SMTP. Δείτε τα υποδείγματα για περισσότερες λεπτομέρειες. Το μόνο που μένει είναι να επανεκκινήσετε το μηχάνημα. Μετά την επανεκκίνηση, μπορείτε είτε να γράψετε: &prompt.root; ppp και έπειτα dial provider για να ξεκινήσετε τη συνεδρία PPP, ή αν θέλετε το ppp να αποκαθιστά τις συνεδρίες αυτόματα κάθε φορά που υπάρχει κίνηση προς το εξωτερικό δίκτυο (και δεν έχετε δημιουργήσει το script start_if.tun0) μπορείτε να γράψετε: &prompt.root; ppp -auto provider Περίληψη Για να ανακεφαλαιώσουμε, τα παρακάτω βήματα είναι απαραίτητα όταν εγκαθιστάτε το ppp για πρώτη φορά: Από τη μεριά του μηχανήματος-πελάτη: Βεβαιωθείτε ότι περιλαμβάνεται στον πυρήνα σας η συσκευή tun. Βεβαιωθείτε ότι υπάρχει το αρχείο της συσκευής tunN στον κατάλογο /dev. Δημιουργήστε μια καταχώριση στο αρχείο /etc/ppp/ppp.conf. Το παράδειγμα για το pmdemand θα πρέπει να είναι επαρκές για τους περισσότερους ISPs. Αν έχετε δυναμική διεύθυνση IP, δημιουργήστε μια καταχώριση στο /etc/ppp/ppp.linkup. Ενημερώστε το αρχείο /etc/rc.conf. Δημιουργήστε το script start_if.tun0 αν χρειάζεστε κλήση κατά απαίτηση. Από τη μεριά του εξυπηρετητή: Βεβαιωθείτε ότι περιλαμβάνεται στον πυρήνα σας η συσκευή tun. Βεβαιωθείτε ότι υπάρχει το αρχείο της συσκευής tunN στον κατάλογο /dev. Δημιουργήστε μια καταχώριση στο /etc/passwd (χρησιμοποιώντας το πρόγραμμα &man.vipw.8;). Δημιουργήστε ένα αρχείο profile στον προσωπικό κατάλογο του χρήστη, το οποίο να εκτελεί την εντολή ppp -direct direct-server ή κάποια αντίστοιχη. Δημιουργήστε μια καταχώριση στο /etc/ppp/ppp.conf. Το παράδειγμα για το direct-server θα πρέπει να είναι επαρκές. Δημιουργήστε μια καταχώριση στο /etc/ppp/ppp.linkup. Ενημερώστε το αρχείο /etc/rc.conf. Gennady B. Sorokopud Κάποια τμήματα προέρχονται από αρχική συνεισφορά των Robert Huff Χρησιμοποιώντας το PPP του Πυρήνα + + Η ενότητα αυτή είναι έγκυρη και μπορεί να εφαρμοστεί μόνο σε + συστήματα &os; 7.X. + + Ρυθμίζοντας το PPP του Πυρήνα PPP kernel PPP Πριν ξεκινήσετε να ρυθμίζετε το PPP στο μηχάνημα σας, βεβαιωθείτε ότι το pppd βρίσκεται στον κατάλογο /usr/sbin και ότι υπάρχει ο κατάλογος /etc/ppp. Το pppd έχει δύο καταστάσεις λειτουργίας: Ως πελάτης (client) — όταν θέλετε να συνδέσετε το μηχάνημα σας με τον έξω κόσμο μέσω σειριακής σύνδεσης σύνδεσης ή γραμμής modem. PPP server Ως εξυπηρετητής (server) — το μηχάνημα σας είναι συνδεμένο στο δίκτυο και χρησιμοποιείται για να συνδέσει άλλους υπολογιστές, χρησιμοποιώντας το PPP. Και στις δύο περιπτώσεις θα χρειαστεί να δημιουργήσετε ένα αρχείο επιλογών (/etc/ppp/options ή ~/.ppprc αν στο μηχάνημα σας υπάρχουν περισσότεροι από ένας χρήστες που χρησιμοποιούν το PPP). Θα χρειαστείτε επίσης και κάποιο λογισμικό για χρήση με modem και σειριακές συνδέσεις (κατά προτίμηση το comms/kermit), ώστε να μπορείτε να καλέσετε και να αποκαταστήσετε τη σύνδεση με τον απομακρυσμένο εξυπηρετητή. Trev Roydhouse Βασισμένο σε πληροφορίες που παρείχε ο Χρησιμοποιώντας το <command>pppd</command> ως Πελάτης PPP client Cisco Μπορείτε να χρησιμοποιήσετε το /etc/ppp/options που φαίνεται παρακάτω, για να συνδεθείτε σε μια γραμμή PPP ενός εξυπηρετητή τερματικών (terminal server) της Cisco. crtscts # enable hardware flow control modem # modem control line noipdefault # remote PPP server must supply your IP address # if the remote host does not send your IP during IPCP # negotiation, remove this option passive # wait for LCP packets domain ppp.foo.com # put your domain name here :remote_ip # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to local_ip:remote_ip defaultroute # put this if you want that PPP server will be your # default router Για να συνδεθείτε: Kermit modem Καλέστε τον απομακρυσμένο εξυπηρετητή χρησιμοποιώντας το Kermit (ή κάποιο άλλο πρόγραμμα για modem) και εισάγετε το όνομα χρήστη και τον κωδικό σας (ή ότι άλλο χρειάζεται για να ενεργοποιήσετε το PPP στον απομακρυσμένο υπολογιστή). Βγείτε από το Kermit (χωρίς να κλείσετε τη γραμμή). Πληκτρολογήστε τα παρακάτω: &prompt.root; /usr/sbin/pppd /dev/tty01 19200 Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό όνομα συσκευής και την κατάλληλη ταχύτητα. Ο υπολογιστής σας είναι τώρα συνδεμένος μέσω PPP. Αν η σύνδεση αποτύχει, μπορείτε να χρησιμοποιήσετε την επιλογή στο αρχείο /etc/ppp/options και να ελέγξετε τα μηνύματα στην κονσόλα για να ανιχνεύσετε το πρόβλημα. Το παρακάτω script /etc/ppp/pppup αυτοματοποιεί και τα 3 στάδια: #!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200 Kermit Το αρχείο /etc/ppp/kermit.dial είναι ένα script για το Kermit το οποίο κάνει την κλήση και την πιστοποίηση του χρήστη στον απομακρυσμένο υπολογιστή (στο τέλος αυτού του εγγράφου, θα βρείτε ένα παράδειγμα για ένα τέτοιο script). Χρησιμοποιήστε το παρακάτω script /etc/ppp/pppdown για να αποσυνδέσετε την γραμμή PPP: #!/bin/sh pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill -TERM ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi /sbin/ifconfig ppp0 down /sbin/ifconfig ppp0 delete kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest Ελέγξτε αν εκτελείται ακόμα το pppd, εκτελώντας το /usr/etc/ppp/ppptest, το οποίο θα μοιάζει με το παρακάτω: #!/bin/sh pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'pppd running: PID=' ${pid-NONE} else echo 'No pppd running.' fi set -x netstat -n -I ppp0 ifconfig ppp0 Για να κλείσετε την γραμμή, εκτελέστε το /etc/ppp/kermit.hup, το οποίο θα πρέπει να περιέχει: set line /dev/tty01 ; put your modem device here set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 echo \13 exit Μια εναλλακτική μέθοδος που χρησιμοποιεί το chat αντί για το kermit: Τα παρακάτω δύο αρχεία επαρκούν για τη δημιουργία μιας σύνδεσης pppd. /etc/ppp/options: /dev/cuad1 115200 crtscts # enable hardware flow control modem # modem control line connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # remote PPP serve must supply your IP address # if the remote host doesn't send your IP during # IPCP negotiation, remove this option passive # wait for LCP packets domain your.domain # put your domain name here : # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to local_ip:remote_ip defaultroute # put this if you want that PPP server will be # your default router /etc/ppp/login.chat.script: Το παρακάτω θα πρέπει να γραφεί σε μια μόνο γραμμή. ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTphone.number CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id TIMEOUT 5 sword: password Μόλις τροποποιήσετε και εγκαταστήσετε σωστά τα παραπάνω αρχεία, το μόνο που χρειάζεται να κάνετε είναι να εκτελέσετε την εντολή pppd, με τον τρόπο που φαίνεται παρακάτω: &prompt.root; pppd Χρησιμοποιώντας το <command>pppd</command> ως Εξυπηρετητή Το /etc/ppp/options θα πρέπει να περιέχει κάτι αντίστοιχο με το παρακάτω: crtscts # Hardware flow control netmask 255.255.255.0 # netmask (not required) 192.114.208.20:192.114.208.165 # IP's of local and remote hosts # local ip must be different from one # you assigned to the Ethernet (or other) # interface on your machine. # remote IP is IP address that will be # assigned to the remote machine domain ppp.foo.com # your domain passive # wait for LCP modem # modem line Το script /etc/ppp/pppserv που φαίνεται παρακάτω, θα πει στο pppd να λειτουργήσει ως εξυπηρετητής: #!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi # reset ppp interface ifconfig ppp0 down ifconfig ppp0 delete # enable autoanswer mode kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200 Χρησιμοποιήστε το παρακάτω script /etc/ppp/pppservdown για να σταματήσετε τον εξυπηρετητή: #!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans Το παρακάτω script για το Kermit (/etc/ppp/kermit.ans) μπορεί να ενεργοποιεί και να απενεργοποιεί την λειτουργία αυτόματης απάντησης στο modem σας. set line /dev/tty01 set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 inp 5 OK echo \13 out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable ; autoanswer mode inp 5 OK echo \13 exit Στον απομακρυσμένο υπολογιστή, χρησιμοποιείται το script /etc/ppp/kermit.dial για κλήση και πιστοποίηση του χρήστη. Θα πρέπει να το τροποποιήσετε σύμφωνα με τις ανάγκες σας. Βάλτε το όνομα χρήστη και τον κωδικό σας σε αυτό το script. Θα χρειαστεί επίσης να αλλάξετε την γραμμή για την είσοδο (input) ανάλογα με τις απαντήσεις που δίνει το modem σας και ο απομακρυσμένος υπολογιστής. ; ; put the com line attached to the modem here: ; set line /dev/tty01 ; ; put the modem speed here: ; set speed 19200 set file type binary ; full 8 bit file xfer set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none set modem hayes set dial hangup off set carrier auto ; Then SET CARRIER if necessary, set dial display on ; Then SET DIAL if necessary, set input echo on set input timeout proceed set input case ignore def \%x 0 ; login prompt counter goto slhup :slcmd ; put the modem in command mode echo Put the modem in command mode. clear ; Clear unread characters from input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wait for OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; if modem doesn't answer OK, try again :slhup ; hang up the phone clear ; Clear unread characters from input buffer pause 1 echo Hanging up the phone. output ath0\13 ; hayes command for on hook input 2 OK\13\10 if fail goto slcmd ; if no OK answer, put modem in command mode :sldial ; dial the number pause 1 echo Dialing. output atdt9,550311\13\10 ; put phone number here assign \%x 0 ; zero the time counter :look clear ; Clear unread characters from input buffer increment \%x ; Count the seconds input 1 {CONNECT } if success goto sllogin reinput 1 {NO CARRIER\13\10} if success goto sldial reinput 1 {NO DIALTONE\13\10} if success goto slnodial reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 60 goto look else goto slhup :sllogin ; login assign \%x 0 ; zero the time counter pause 1 echo Looking for login prompt. :slloop increment \%x ; Count the seconds clear ; Clear unread characters from input buffer output \13 ; ; put your expected login prompt here: ; input 1 {Username: } if success goto sluid reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 10 goto slloop ; try 10 times to get a login prompt else goto slhup ; hang up and start again if 10 failures :sluid ; ; put your userid here: ; output ppp-login\13 input 1 {Password: } ; ; put your password here: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7No dialtone. Check the telephone line!\7 exit 1 ; local variables: ; mode: csh ; comment-start: "; " ; comment-start-skip: "; " ; end: Tom Rhodes Συνεισφορά του Αντιμετώπιση Προβλημάτων σε Συνδέσεις <acronym>PPP</acronym> PPP troubleshooting + + Από το &os; 8.0 και μετά, το πρόγραμμα οδήγησης &man.sio.4; + αντικαταστάθηκε από το &man.uart.4;. Τα ονόματα συσκευών των + σειριακών θυρών έχουν αλλάξει από + /dev/cuadN σε + /dev/cuauN και από + /dev/ttydN σε + /dev/ttyuN. + Οι χρήστες του &os; 7.X θα πρέπει να προσαρμόσουν τις παρακάτω + οδηγίες σύμφωνα με αυτές τις αλλαγές. + + Η ενότητα αυτή καλύπτει μερικά από τα προβλήματα που μπορεί να παρουσιαστούν όταν γίνεται χρήση του PPP μέσω σύνδεσης modem. Για παράδειγμα, θα πρέπει να ξέρετε με ακρίβεια τα μηνύματα εισόδου που θα εμφανίσει το σύστημα το οποίο καλείτε. Μερικοί ISP δίνουν την προτροπή ssword, ενώ άλλοι δίνουν την password. Αν δεν έχετε γράψει σωστά το script για το ppp, η απόπειρα εισόδου θα αποτύχει. Ο πιο συνηθισμένος τρόπος να εκσφαλματώσετε μια σύνδεση ppp, είναι να συνδεθείτε χειροκίνητα. Οι πληροφορίες που εμφανίζονται παρακάτω, θα σας οδηγήσουν βήμα προς βήμα στη χειροκίνητη αποκατάσταση της σύνδεσης. Ελέγξτε τα Αρχεία Συσκευών Αν χρησιμοποιείτε προσαρμοσμένο πυρήνα, βεβαιωθείτε ότι έχετε περιλάβει την παρακάτω γραμμή στο αρχείο ρυθμίσεων του πυρήνα σας: - device sio + device uart Αν χρησιμοποιείτε τον πυρήνα GENERIC, δεν χρειάζεται να κάνετε κάποια αλλαγή, καθώς η συσκεύη - sio περιλαμβάνεται ήδη σε αυτόν. + uart περιλαμβάνεται ήδη σε αυτόν. Απλώς ελέγξτε τα μηνύματα της dmesg για την συσκευή modem, χρησιμοποιώντας την παρακάτω εντολή: - &prompt.root; dmesg | grep sio + &prompt.root; dmesg | grep uart Θα πρέπει να δείτε κάποια έξοδο σχετική με τις συσκευές - sio. Πρόκειται για τις θύρες COM που + uart. Πρόκειται για τις θύρες COM που χρειαζόμαστε. Αν το modem σας λειτουργεί ως τυποποιημένη σειριακή θύρα, θα πρέπει να το δείτε να αναφέρεται ως - sio1, ή COM2. Αν + uart1, ή COM2. Αν συμβαίνει αυτό, δεν χρειάζεται να επαναμεταγλωττίσετε τον πυρήνα σας. Αν η σειριακή θύρα που αντιστοιχεί στο modem σας είναι η - sio1 ή COM2 στο + uart1 ή COM2 στο DOS, η αντίστοιχη συσκευή modem θα είναι η - /dev/cuad1. + /dev/cuau1. Χειροκίνητη Σύνδεση Η χειροκίνητη σύνδεση στο Internet με χρήση της ppp, είναι ένας γρήγορος και εύκολος τρόπος να εντοπίσετε τυχόν προβλήματα σύνδεσης, ή απλώς να πάρετε πληροφορίες σχετικά με το πως ο ISP σας αντιμετωπίζει τις συνδέσεις πελατών ppp. Θα ξεκινήσουμε την εφαρμογή PPP από την γραμμή εντολών. Σημειώστε ότι σε όλα μας τα παραδείγματα, θα χρησιμοποιούμε το example ως το όνομα του υπολογιστή που εκτελεί το PPP. Μπορείτε να ξεκινήσετε το ppp, γράφοντας απλώς ppp: &prompt.root; ppp Έχουμε τώρα ξεκινήσει το ppp. - ppp ON example> set device /dev/cuad1 + ppp ON example> set device /dev/cuau1 Θέτουμε τη συσκευή modem. Στο παράδειγμα μας, είναι η - cuad1. + cuau1. ppp ON example> set speed 115200 Θέτουμε την ταχύτητα σύνδεσης, σε αυτή την περίπτωση χρησιμοποιούμε 115,200 kbps. ppp ON example> enable dns Λέμε στο ppp να ρυθμίσει τον resolver και προσθέτουμε τις κατάλληλες γραμμές για το διακομιστή ονομάτων στο /etc/resolv.conf. Αν το ppp δεν μπορεί να καθορίσει το όνομα του διακομιστή, μπορούμε να το καθορίσουμε με χειροκίνητο τρόπο αργότερα. ppp ON example> term Αλλάζουμε σε κατάσταση terminal ώστε να μπορούμε να ελέγξουμε το modem χειροκίνητα. - deflink: Entering terminal mode on /dev/cuad1 + deflink: Entering terminal mode on /dev/cuau1 type '~h' for help at OK atdt123456789 Χρησιμοποιούμε το at για να αρχικοποιήσουμε το modem, και έπειτα χρησιμοποιούμε το atdt και τον αριθμό του ISP για να ξεκινήσουμε τη διαδικασία της κλήσης. CONNECT Εδώ έχουμε επιβεβαίωση της σύνδεσης. Αν έχουμε προβλήματα σύνδεσης τα οποία δεν σχετίζονται με το υλικό μας, εδώ είναι το σημείο που πρέπει να προσπαθήσουμε να τα επιλύσουμε. ISP Login:myusername Η προτροπή αυτή είναι για να δώσουμε το όνομα χρήστη. Χρησιμοποιήστε το όνομα χρήστη που σας έχει δοθεί από τον ISP σας. ISP Pass:mypassword Η προτροπή αυτή είναι για τον κωδικό πρόσβασης. Απαντήστε με τον κωδικό που σας έχει δοθεί από τον ISP σας. Ο κωδικός αυτός δεν θα εμφανιστεί στην οθόνη σας, όπως ακριβώς συμβαίνει και με τον κωδικό σας όταν τον γράφετε στην προτροπή εισόδου του &os; συστήματος σας. Shell or PPP:ppp Ανάλογα με τον ISP σας, μπορεί να μην δείτε και καθόλου την παραπάνω προτροπή. Στην παραπάνω περίπτωση μας ρωτάει αν επιθυμούμε να εκτελέσουμε κάποιο κέλυφος (shell) στο μηχάνημα του παροχέα, ή αν θέλουμε να εκκινήσουμε το ppp. Στο παράδειγμα μας επιλέξαμε να χρησιμοποιήσουμε ppp καθώς θέλουμε να συνδεθούμε στο Internet. Ppp ON example> Παρατηρήστε ότι στο παράδειγμα το πρώτο είναι κεφαλαίο. Αυτό δείχνει ότι έχουμε συνδεθεί επιτυχώς με τον ISP. PPp ON example> Έχουμε πιστοποιηθεί με επιτυχία από τον ISP μας, και περιμένουμε να μας αποδοθεί διεύθυνση IP. PPP ON example> Έχει πλέον καθοριστεί διεύθυνση IP, και έχουμε ολοκληρώσει τη σύνδεση με επιτυχία. PPP ON example>add default HISADDR Εδώ προσθέτουμε την προεπιλεγμένη διαδρομή (default route). Το βήμα αυτό είναι απαραίτητο πριν μπορέσουμε να επικοινωνήσουμε με τον έξω κόσμο, καθώς τη δεδομένη στιγμή η μόνη σύνδεση που έχουμε είναι με ένα υπολογιστή από την άλλη μεριά της γραμμής. Αν το παραπάνω αποτύχει επειδή υπάρχουν ήδη καθορισμένες διαδρομές, μπορείτε να βάλετε ένα θαυμαστικό ! μπροστά από το . Εναλλακτικά, μπορείτε να κάνετε αυτή τη ρύθμιση πριν επιχειρήσετε τη σύνδεση, και θα γίνει αυτόματα διαπραγμάτευση της νέας διαδρομής. Αν όλα πήγαν καλά, θα πρέπει τώρα να έχετε ενεργή σύνδεση με το Internet, την οποία μπορείτε να μετακινήσετε στο παρασκήνιο χρησιμοποιώντας το συνδυασμό πλήκτρων CTRL z. Αν παρατηρήσετε το PPP να γίνεται ξανά ppp, η σύνδεση έχει διακοπεί. Με τον τρόπο αυτό μπορείτε να παρακολουθείτε την κατάσταση της σύνδεση σας. Τα κεφαλαία P δείχνουν ότι υπάρχει σύνδεση με τον ISP ενώ τα μικρά p δείχνουν ότι για κάποιο λόγο η σύνδεση έχει χαθεί. Το ppp έχει μόνο αυτές τις δύο καταστάσεις. Αντιμετώπιση Προβλημάτων Αν έχετε απευθείας γραμμή και δεν φαίνεται να μπορείτε να αποκαταστήσετε τη σύνδεση, απενεργοποιήστε τον έλεγχο ροής μέσω υλικού (CTS/RTS) χρησιμοποιώντας την επιλογή . Το παραπάνω συμβαίνει συνήθως αν είστε συνδεμένος σε κάποιο εξυπηρετητή τερματικών με δυνατότητα PPP, όπου το PPP σταματάει να αποκρίνεται όταν προσπαθεί να γράψει δεδομένα στη σύνδεση σας. Στην περίπτωση αυτή, συνήθως περιμένει για κάποιο σήμα CTS (Clear To Send) το οποίο δεν έρχεται ποτέ. Αν ωστόσο χρησιμοποιήσετε αυτή την επιλογή, θα πρέπει επίσης να χρησιμοποιήσετε και την επιλογή η οποία ενδεχομένως απαιτείται για να απομονωθεί το υλικό που εξαρτάται από τη μετάδοση συγκεκριμένων χαρακτήρων από τη μια άκρη στην άλλη, συνήθως μέσω του XON/XOFF. Δείτε τη σελίδα manual του &man.ppp.8; για περισσότερες πληροφορίες σχετικά με αυτή την επιλογή και πως μπορείτε να την χρησιμοποιήσετε. Αν διαθέτετε ένα παλαιότερο modem, ίσως χρειαστεί να χρησιμοποιήσετε την επιλογή . Η προεπιλεγμένη ρύθμιση είναι να μην υπάρχει ισοτιμία (parity none), αλλά σε παλιά modems (και σε κάποιους ISP) χρησιμοποιείται για έλεγχο λαθών (η χρήση της προκαλεί ωστόσο μεγάλη αύξηση στη μετακίνηση δεδομένων). Ίσως χρειαστείτε αυτή την επιλογή, αν ο ISP σας είναι η Compuserve. Το PPP ίσως να μην επανέλθει στην κατάσταση εντολών, το οποίο είναι συνήθως σφάλμα διαπραγμάτευσης, καθώς ο ISP περιμένει από τη δική σας μεριά να ξεκινήσει τη διαπραγμάτευση. Στο σημείο αυτό, η χρήση της εντολής ~p θα εξαναγκάσει το ppp να αρχίσει να στέλνει τις πληροφορίες σχετικά με τη ρύθμιση. Αν δεν πάρετε ποτέ προτροπή εισόδου, το πιθανότερο είναι να πρέπει να χρησιμοποιήσετε πιστοποίηση PAP ή CHAP αντί για την τύπου &unix; πιστοποίηση που περιγράψαμε στο παραπάνω παράδειγμα. Για να χρησιμοποιήσετε PAP ή CHAP απλώς προσθέστε τις παρακάτω επιλογές στην εφαρμογή PPP πριν βρεθείτε σε κατάσταση τερματικού: ppp ON example> set authname myusername Θα πρέπει να αντικαταστήσετε το myusername με το όνομα χρήστη που σας έχει δοθεί από τον ISP σας. ppp ON example> set authkey mypassword Θα πρέπει να αντικαταστήσετε το mypassword με τον κωδικό χρήστη που σας έχει δοθεί από τον ISP σας. Αν συνδέεστε κανονικά, αλλά δεν φαίνεται να μπορείτε να επικοινωνήσετε με καμιά διεύθυνση, προσπαθήστε να χρησιμοποιήσετε την εντολή &man.ping.8; με μια διεύθυνση IP για να δείτε αν θα λάβετε απάντηση. Αν βλέπετε απώλεια πακέτων 100%, το πιο πιθανό είναι ότι δεν έχετε καθορίσει κάποια προεπιλεγμένη διαδρομή. Ελέγξτε ξανά ότι έχετε ρυθμίσει την επιλογή κατά τη διάρκεια της σύνδεσης. Αν μπορείτε να επικοινωνήσετε με μια απομακρυσμένη διεύθυνση IP, το πιθανότερο είναι ότι δεν έχετε βάλει τη διεύθυνση κάποιου διακομιστή ονομάτων στο αρχείο /etc/resolv.conf. Το αρχείο αυτό θα πρέπει να μοιάζει με το παρακάτω: domain example.com nameserver x.x.x.x nameserver y.y.y.y Όπου τα x.x.x.x και y.y.y.y θα πρέπει να αντικατασταθούν με τις διευθύνσεις IP των διακομιστών DNS του ISP σας. Ενδεχομένως οι πληροφορίες αυτές να σας έχουν δοθεί κατά την εγγραφή σας στην υπηρεσία. Αν όχι, θα μπορέσετε να τις βρείτε εύκολα με ένα τηλεφώνημα στον ISP σας. Μπορείτε επίσης να ενεργοποιήσετε την καταγραφή συμβάντων για την PPP σύνδεση σας, μέσω του &man.syslog.3;. Απλώς προσθέστε: !ppp *.* /var/log/ppp.log στο /etc/syslog.conf. Τις περισσότερες φορές, αυτή η λειτουργία υπάρχει ήδη. Jim Mock Συνεισφορά (από http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) του Χρησιμοποιώντας PPP μέσω Ethernet (PPPoE) PPP over Ethernet PPPoE PPP, over Ethernet Η ενότητα αυτή περιγράφει πως να ρυθμίσετε μια σύνδεση PPP μέσω Ethernet (PPPoE). Ρύθμιση του Πυρήνα Δεν απαιτείται πλέον ειδική ρύθμιση του πυρήνα για τη λειτουργία PPPoE. Αν ο πυρήνας σας δεν περιλαμβάνει την απαραίτητη υποστήριξη netgraph, το ppp θα την φορτώσει αυτόματα ως άρθρωμα. Ρύθμιση του <filename>ppp.conf</filename> Παρακάτω φαίνεται ένα υπόδειγμα αρχείου ppp.conf: default: set log Phase tun command # you can add more detailed logging if you wish set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with your Ethernet device set authname YOURLOGINNAME set authkey YOURPASSWORD set dial set login add default HISADDR Εκτέλεση του <application>ppp</application> Ως χρήστης root, μπορείτε να εκτελέσετε: &prompt.root; ppp -ddial name_of_service_provider Εκκίνηση του <application>ppp</application> κατά την Εκκίνηση Προσθέστε τις παρακάτω γραμμές στο αρχείο /etc/rc.conf: ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider" Χρήση μιας Ετικέτας Υπηρεσίας PPPoE Μερικές φορές θα χρειαστεί να χρησιμοποιήσετε μια ετικέτα υπηρεσίας (service tag) για την αποκατάσταση της σύνδεσης σας. Οι ετικέτες υπηρεσιών χρησιμοποιούνται για τον διαχωρισμό μεταξύ διαφορετικών εξυπηρετητών PPPoE που βρίσκονται στο ίδιο δίκτυο. Η τεκμηρίωση που σας έχει δώσει ο ISP σας, θα πρέπει να έχει τις απαιτούμενες πληροφορίες για την ετικέτα υπηρεσίας που χρειάζεστε. Αν δεν μπορείτε να την βρείτε, ρωτήστε την εξυπηρέτηση πελατών του ISP σας. Ως τελευταία λύση, θα μπορούσατε να δοκιμάσετε την μέθοδο που συνίσταται στο πρόγραμμα Roaring Penguin PPPoE το οποίο μπορείτε να βρείτε στην Συλλογή των Ports. Να έχετε υπόψη σας, ότι αυτό μπορεί να αποπρογραμματίσει και να αχρηστεύσει το modem σας, έτσι σκεφτείτε το καλά πριν το κάνετε. Απλώς εγκαταστήστε το πρόγραμμα που δίνει ο παροχέας σας μαζί με το modem. Έπειτα, εισέλθετε στο μενού System του προγράμματος. Εκεί θα πρέπει να είναι το όνομα του προφίλ σας. Συνήθως γράφει ISP. Το όνομα του προφίλ (ετικέτα υπηρεσίας) θα χρησιμοποιηθεί στην καταχώριση για την ρύθμιση του PPPoE στο αρχείο ppp.conf, ως το τμήμα που δηλώνει τον παροχέα στην εντολή set device (δείτε τη σελίδα manual του &man.ppp.8; για πλήρεις λεπτομέρειες). θα δείχνει όπως το παρακάτω: set device PPPoE:xl1:ISP Μην ξεχάσετε να αλλάξετε το xl1 με τη σωστή συσκευή που αντιστοιχεί στην κάρτα Ethernet που χρησιμοποιείτε. Μην ξεχάσετε να αλλάξετε το ISP με το προφίλ που βρήκατε παραπάνω. Για περισσότερες πληροφορίες, δείτε: Φθηνότερες Ευρυζωνικές Συνδέσεις μέσω &os; σε Γραμμή DSL από τον Renaud Waldura. Nutzung von T-DSL und T-Online mit &os; από τον Udo Erdelhoff (στα Γερμανικά). Το PPPoE σε Modem &tm.3com; <trademark class="registered">HomeConnect</trademark> ADSL Dual Link Αυτό το modem δεν ακολουθεί το RFC 2516 (Μια μέθοδος για μετάδοση PPP μέσω Ethernet (PPPoE), γραμμένο από τους L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, και R. Wheeler). Αντίθετα, χρησιμοποιεί διαφορετικούς τύπους κωδικών πακέτων για τα πλαίσια Ethernet. Παρακαλούμε να εκφράσετε τα παράπονα σας στην 3Com αν νομίζετε ότι θα πρέπει να συμμορφωθεί με τις προδιαγραφές του PPPoE. Για να μπορεί το &os; να επικοινωνεί με αυτή τη συσκευή, θα πρέπει να τεθεί ένα κατάλληλο sysctl. Αυτό μπορεί να γίνεται αυτόματα κατά την εκκίνηση, με την ενημέρωση του αρχείου /etc/sysctl.conf: net.graph.nonstandard_pppoe=1 ή μπορεί να γίνει άμεσα με την εντολή: &prompt.root; sysctl net.graph.nonstandard_pppoe=1 Δυστυχώς, επειδή πρόκειται για μια ρύθμιση που επηρεάζει ολόκληρο το σύστημα, δεν είναι δυνατόν να επικοινωνείτε ταυτόχρονα με ένα κανονικό πελάτη ή εξυπηρετητή PPPoE και με ένα ADSL modem &tm.3com; HomeConnect. Χρησιμοποιώντας <application>PPP</application> μέσω ATM (PPPoA) PPP over ATM PPPoA PPP, over ATM Ή ενότητα που ακολουθεί, περιγράφει πως να ρυθμίσετε το PPP για λειτουργία μέσω ATM (PPPoA). Το PPPoA είναι μια δημοφιλής επιλογή στους παροχείς υπηρεσιών DSL στην Ευρώπη. Χρησιμοποιώντας PPPoA με το Alcatel &speedtouch; USB Η υποστήριξη PPPooA για αυτή τη συσκευή, παρέχεται ως port στο &os;, καθώς το firmware της συσκευής διανέμεται υπό την άδεια Alcatel's license agreement και δεν μπορεί να διανεμηθεί ελεύθερα με το βασικό σύστημα του &os;. Για να εγκαταστήσετε το λογισμικό, απλά χρησιμοποιήστε την Συλλογή των Ports. Εγκαταστήστε το port net/pppoa και ακολουθήστε τις οδηγίες που περιλαμβάνονται σε αυτό. Όπως πολλές συσκευές USB, το Alcatel &speedtouch; χρειάζεται να κατεβάσει το firmware του από τον υπολογιστή στο οποίο είναι συνδεμένο, προκειμένου να λειτουργήσει σωστά. Η διαδικασία αυτή μπορεί να αυτοματοποιηθεί στο &os;, ώστε η μεταφορά να γίνεται κάθε φορά που συνδέεται η συσκευή στη θύρα USB. Μπορείτε να προσθέσετε τις παρακάτω πληροφορίες στο αρχείο /etc/usbd.conf για να ενεργοποιήσετε την αυτόματη μεταφορά του firmware. Θα πρέπει να επεξεργαστείτε αυτό το αρχείο ως χρήστης root. device "Alcatel SpeedTouch USB" devname "ugen[0-9]+" vendor 0x06b9 product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o" Για να ενεργοποιήσετε το usbd, το δαίμονα USB, προσθέστε την παρακάτω γραμμή στο αρχείο /etc/rc.conf: usbd_enable="YES" Μπορεί επίσης να ρυθμίσετε το ppp ώστε να εκτελεί αυτόματα κλήση κατά την εκκίνηση του συστήματος. Για να γίνει αυτό, προσθέστε τις παρακάτω γραμμές στο /etc/rc.conf. Θα πρέπει και πάλι να εκτελέσετε τη διαδικασία αυτή ως root. ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl" Για να λειτουργήσει σωστά το παραπάνω, θα πρέπει να έχετε χρησιμοποιήσει το υπόδειγμα του αρχείου ppp.conf το οποίο παρέχεται με το port net/pppoa. Χρησιμοποιώντας το mpd Μπορείτε να χρησιμοποιήσετε το mpd για να συνδεθείτε σε ένα πλήθος υπηρεσιών, και ειδικότερα υπηρεσίες PPTP. Μπορείτε να βρείτε το mpd στην Συλλογή των Ports, στο net/mpd. Πολλά ADSL modem απαιτούν τη δημιουργία ενός PPTP τούνελ μεταξύ του modem και του υπολογιστή. Ένα τέτοιο modem είναι το Alcatel &speedtouch; Home. Πρώτα πρέπει να εγκαταστήσετε το port, και μετά μπορείτε να ρυθμίσετε το mpd ώστε να καλύπτει τις απαιτήσεις σας και τις ρυθμίσεις του παροχέα σας. Το port εγκαθιστά κάποια παραδείγματα αρχείων ρυθμίσεων στον κατάλογο PREFIX/etc/mpd/. Τα αρχεία αυτά περιέχουν αρκετά καλή τεκμηρίωση των ρυθμίσεων. Σημειώστε εδώ, ότι το PREFIX είναι ο κατάλογος στον οποίο εγκαθίστανται τα ports, και από προεπιλογή είναι ο /usr/local/. Μετά την εγκατάσταση του port, θα βρείτε ένα πλήρη οδηγό για τη ρύθμιση του mpd σε μορφή HTML. Η τεκμηρίωση εγκαθίσταται στον κατάλογο PREFIX/share/doc/mpd/. Παρακάτω φαίνεται ένα υπόδειγμα ρυθμίσεων για σύνδεση σε μια υπηρεσία ADSL μέσω του mpd. Οι ρυθμίσεις χωρίζονται σε δύο αρχεία, πρώτα δείχνουμε το mpd.conf: default: load adsl adsl: new -i ng0 adsl adsl set bundle authname username set bundle password password set bundle disable multilink set link no pap acfcomp protocomp set link disable chap set link accept chap set link keep-alive 30 10 set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface route default set iface disable on-demand set iface enable proxy-arp set iface idle 0 open Το όνομα χρήστη με το οποίο γίνεται η πιστοποίηση στον ISP σας. Ο κωδικός με τον οποίο γίνεται η πιστοποίηση στον ISP σας. Το αρχείο mpd.links περιέχει πληροφορίες σχετικά με τη σύνδεση ή τις συνδέσεις που θα πραγματοποιηθούν. Για παράδειγμα, το mpd.links που συνοδεύει το παραπάνω παράδειγμα, φαίνεται παρακάτω: adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self 10.0.0.1 set pptp peer 10.0.0.138 Η διεύθυνση IP του &os; υπολογιστή σας, στον οποίο θα χρησιμοποιήσετε το mpd. Η διεύθυνση IP του ADSL modem σας. Για το Alcatel &speedtouch; Home, η διεύθυνση αυτή είναι από προεπιλογή η 10.0.0.138. Είναι δυνατόν να αρχικοποιήσετε τη σύνδεση εύκολα, δίνοντας την παρακάτω εντολή ως root: &prompt.root; mpd -b adsl Μπορείτε να δείτε την κατάσταση της σύνδεσης με την παρακάτω εντολή: &prompt.user; ifconfig ng0 ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff Το mpd αποτελεί τον συνιστώμενο τρόπο σύνδεσης του &os; με μια υπηρεσία ADSL. Χρησιμοποιώντας το pptpclient Μπορείτε επίσης να χρησιμοποιήσετε το &os; για να συνδεθείτε σε άλλες υπηρεσίες PPPoA χρησιμοποιώντας το net/pptpclient. Για να χρησιμοποιήσετε το net/pptpclient για να συνδεθείτε σε μια υπηρεσία DSL, εγκαταστήστε το port ή το πακέτο, και επεξεργαστείτε το αρχείο /etc/ppp/ppp.conf. Θα χρειαστεί να είστε root για να κάνετε και τις δύο παραπάνω διαδικασίες. Παρακάτω φαίνεται ένα παράδειγμα μιας ενότητας του ppp.conf. Για περισσότερες πληροφορίες σχετικά με τις επιλογές του ppp.conf, δείτε τη σελίδα manual του ppp, &man.ppp.8;. adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username set authkey password set ifaddr 0 0 add default HISADDR Το όνομα χρήστη για τον λογαριασμό σας στον παροχέα DSL. Ο κωδικός για τον λογαριασμό σας. Καθώς θα πρέπει να γράψετε τον κωδικό σας μορφή απλού κειμένου στο αρχείο ppp.conf, θα πρέπει να βεβαιωθείτε ότι κανένας άλλος δεν θα μπορεί να διαβάσει τα περιεχόμενα αυτού του αρχείου. Με τις παρακάτω εντολές, μπορείτε να εξασφαλίσετε ότι το αρχείο θα μπορεί να διαβαστεί μόνο μέσα από το λογαριασμό του root. Δείτε τις σελίδες manual των &man.chmod.1; και &man.chown.8; για περισσότερες πληροφορίες. &prompt.root; chown root:wheel /etc/ppp/ppp.conf &prompt.root; chmod 600 /etc/ppp/ppp.conf Αυτό θα ανοίξει ένα τούνελ για μια συνεδρία PPP με τον DSL δρομολογητή σας. Τα DSL modem τύπου ethernet έχουν μια προκαθορισμένη διεύθυνση IP στο τοπικό σας δίκτυο, στην οποία μπορείτε να συνδεθείτε. Στην περίπτωση του Alcatel &speedtouch; Home, η διεύθυνση αυτή είναι 10.0.0.138. Η τεκμηρίωση που διαθέτει ο δρομολογητής σας, θα αναφέρει ποια διεύθυνση χρησιμοποιεί η συσκευή σας. Για να ανοίξετε το τούνελ και να ξεκινήσετε μια συνεδρία PPP, εκτελέστε την ακόλουθη εντολή: &prompt.root; pptp address adsl Είναι καλή ιδέα να προσθέσετε ένα & στο τέλος της προηγούμενης εντολής, διαφορετικά το pptp δεν θα σας επιστρέψει τον έλεγχο (προτροπή) του τερματικού σας. Θα δημιουργηθεί μια συσκευή tun (εικονικό τούνελ) για την αλληλεπίδραση μεταξύ των διεργασιών pptp και ppp. Μόλις επιστρέψει η προτροπή στο τερματικό σας, ή το pptp επιβεβαιώσει τη σύνδεση, μπορείτε να εξετάσετε το τούνελ με τον τρόπο που φαίνεται παρακάτω: &prompt.user; ifconfig tun0 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918 Αν δεν μπορέσετε να συνδεθείτε, ελέγξτε τις ρυθμίσεις του δρομολογητή σας, οι οποίες συνήθως είναι προσβάσιμες μέσω telnet ή μέσω κάποιου φυλλομετρητή. Αν ακόμα δεν μπορείτε να συνδεθείτε, θα πρέπει να εξετάσετε την έξοδο της εντολής pptp και τα περιεχόμενα του αρχείου καταγραφής του ppp, /var/log/ppp.log για πιθανά στοιχεία. Satoshi Asami Αρχική συνεισφορά του Guy Helmer Με τη βοήθεια των Piero Serini Χρησιμοποιώντας το SLIP SLIP + + Η ενότητα αυτή εφαρμόζεται και είναι έγκυρη μόνο σε συστήματα + &os; 7.X. + + Ρυθμίζοντας ένα Πελάτη SLIP SLIP client Παρακάτω παρουσιάζουμε ένα τρόπο να ρυθμίσετε ένα μηχάνημα &os; ως πελάτη SLIP σε ένα δίκτυο με στατικές διευθύνσεις. Για μηχανήματα τα οποία λαμβάνουν όνομα δυναμικά (η διεύθυνση τους αλλάζει κάθε φορά που συνδέονται), πιθανόν να χρειαστεί να κάνετε πιο πολύπλοκες ρυθμίσεις. Αρχικά, θα πρέπει να καθορίσετε σε ποια σειριακή θύρα είναι συνδεμένο το modem σας. Αρκετοί χρήστες δημιουργούν ένα συμβολικό δεσμό π.χ. /dev/modem, το οποίο δείχνει στην πραγματική συσκευή /dev/cuadN. Αυτό σας επιτρέπει να συνεχίσετε να χρησιμοποιείτε το ίδιο όνομα συσκευής, ακόμα και αν μετακινήσετε το modem σε διαφορετική θύρα. Είναι μάλλον άβολο να πρέπει να αλλάξετε πλήθος αρχείων στο /etc καθώς και τα αρχεία .kermrc σε όλο το σύστημα! Το /dev/cuad0 είναι η COM1, το /dev/cuad1 είναι η COM2, κ.ο.κ. Βεβαιωθείτε ότι το αρχείο ρυθμίσεων του πυρήνα σας περιέχει τα παρακάτω: device sl Το παραπάνω περιλαμβάνεται στον πυρήνα GENERIC, και αν δεν το έχετε διαγράψει, δεν θα έχετε πρόβλημα. Ρυθμίσεις που θα Χρειαστεί να Κάνετε Μόνο μια Φορά Προσθέστε το μηχάνημα σας, την πύλη (gateway) και τους διακομιστές ονομάτων (nameservers) στο αρχείο /etc/hosts. Στο παράδειγμα μας, το αρχείο αυτό μοιάζει με το παρακάτω: 127.0.0.1 localhost loghost 136.152.64.181 water.CS.Example.EDU water.CS water 136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway 128.32.136.9 ns1.Example.EDU ns1 128.32.136.12 ns2.Example.EDU ns2 Βεβαιωθείτε ότι η ενότητα files βρίσκεται πριν το dns στην ενότητα hosts: του αρχείου /etc/nsswitch.conf. Αν δεν υπάρχουν αυτές οι παράμετροι, μπορεί να εμφανιστούν παράξενα συμπτώματα. Τροποποιήστε το αρχείο /etc/rc.conf. Ορίστε το όνομα του υπολογιστή σας, τροποποιώντας τη γραμμή που γράφει: hostname="myname.my.domain" Θα πρέπει εδώ να τοποθετήσετε το πλήρες όνομα του υπολογιστή σας. default route Ορίστε τον προεπιλεγμένο δρομολογητή, αλλάζοντας τη γραμμή: defaultrouter="NO" σε: defaultrouter="slip-gateway" Δημιουργήστε ένα αρχείο /etc/resolv.conf το οποίο θα περιέχει: domain CS.Example.EDU nameserver 128.32.136.9 nameserver 128.32.136.12 nameserver domain name Όπως μπορείτε να δείτε, το παραπάνω ορίζει τους διακομιστές DNS. Φυσικά, τα πραγματικά ονόματα και οι διευθύνσεις των τομέων εξαρτώνται από το περιβάλλον σας. Ρυθμίστε κωδικό πρόσβασης για τους χρήστες root και toor (καθώς και για όσους άλλους λογαριασμούς δεν έχουν κωδικό). Επανεκκινήστε το μηχάνημα σας, και βεβαιωθείτε ότι έχει τεθεί σωστά το όνομα υπολογιστή. Δημιουργώντας μια Σύνδεση SLIP SLIP connecting with Μετά την κλήση, γράψτε την εντολή slip στην προτροπή, γράψτε το όνομα του μηχανήματος σας και τον κωδικό. Το τι ακριβώς χρειάζεται να γράψετε, εξαρτάται από το περιβάλλον σας. Αν χρησιμοποιείτε το Kermit, μπορείτε να χρησιμοποιήσετε ένα script όπως το ακόλουθο: # kermit setup set modem hayes set line /dev/modem set speed 115200 set parity none set flow rts/cts set terminal bytesize 8 set file type binary # The next macro will dial up and login define slip dial 643-9600, input 10 =>, if failure stop, - output slip\x0d, input 10 Username:, if failure stop, - output silvia\x0d, input 10 Password:, if failure stop, - output ***\x0d, echo \x0aCONNECTED\x0a Φυσικά, θα πρέπει να αλλάξετε το όνομα χρήστη και τον κωδικό ώστε να ταιριάζουν με τα δικά σας. Μετά από αυτό, μπορείτε απλώς να πληκτρολογήσετε slip στην προτροπή σύνδεσης του Kermit. Η ύπαρξη του κωδικού σας σε μορφή απλού κειμένου σε οποιοδήποτε σημείο ενός συστήματος αρχείων, είναι γενικά κακή ιδέα. Προχωρήστε με δική σας ευθύνη. Αφήστε το Kermit εκεί (μπορείτε να το στείλετε στο παρασκήνιο χρησιμοποιώντας τα πλήκτρα Ctrl z ) και ως root, γράψτε: &prompt.root; slattach -h -c -s 115200 /dev/modem Αν μπορείτε να κάνετε ping σε υπολογιστές στην άλλη μεριά του δρομολογητή, είστε συνδεμένοι! Αν αυτό δεν δουλεύει, δοκιμάστε την επιλογή αντί για την ως όρισμα στην slattach. Πως να Τερματίσετε την Σύνδεση Κάντε τα ακόλουθα: &prompt.root; kill -INT `cat /var/run/slattach.modem.pid` για να τερματίσετε το slattach. Θυμηθείτε ότι πρέπει να είστε root για να εκτελέσετε το παραπάνω. Έπειτα επανέλθετε στο kermit (εκτελώντας την fg αν το είχατε στείλει στο παρασκήνιο) και τερματίστε το (πιέζοντας q). Η σελίδα manual του &man.slattach.8; αναφέρει ότι μπορείτε να χρησιμοποιήσετε την εντολή ifconfig sl0 down για να διακόψετε τη σύνδεση, αλλά αυτό δεν φαίνεται να έχει κανένα αποτέλεσμα. (To ifconfig sl0 αναφέρει το ίδιο πράγμα.) Μερικές φορές, το modem σας μπορεί να αρνηθεί να κλείσει τη γραμμή. Στις περιπτώσεις αυτές, ξεκινήστε ξανά το kermit και τερματίστε το ξανά. Τη δεύτερη φορά συνήθως πετυχαίνει. Αντιμετώπιση Προβλημάτων Αν το παραπάνω δεν λειτουργήσει, ρωτήστε στη λίστα &a.net.name;. Μερικά από τα συνηθισμένα προβλήματα τα οποία έχουμε μέχρι στιγμής αντιμετωπίσει: Να μην έχει χρησιμοποιηθεί η επιλογή ή στην slattach (Αυτό κανονικά δεν είναι κρίσιμο σφάλμα, αλλά μερικοί χρήστες ανέφεραν ότι αυτό έλυσε τα προβλήματα τους.) Χρήση του αντί για (η διαφορά μπορεί να είναι πολύ μικρή σε μερικές γραμματοσειρές). Δοκιμάστε την εντολή ifconfig sl0 για να δείτε την κατάσταση της διεπαφής. Για παράδειγμα, μπορεί να δείτε το παρακάτω: &prompt.root; ifconfig sl0 sl0: flags=10<POINTOPOINT> inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00 Αν η εντολή &man.ping.8; δίνει μηνύματα no route to host, ίσως υπάρχει πρόβλημα με τον πίνακα δρομολόγησης σας. Μπορείτε να χρησιμοποιήσετε την εντολή netstat -r για να δείτε την τρέχουσα δρομολόγηση: &prompt.root; netstat -r Routing tables Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks: (root node) (root node) Route Tree for Protocol Family inet: (root node) => default inr-3.Example.EDU UG 8 224515 sl0 - - localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438 inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - - water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 (root node) Τα παραπάνω παραδείγματα είναι από ένα σχετικά απασχολημένο σύστημα. Οι αριθμοί θα διαφέρουν στο σύστημα σας, ανάλογα με τη δραστηριότητα του δικτύου. Ρυθμίζοντας Ένα Εξυπηρετητή SLIP SLIP server Το κείμενο αυτό παρέχει κάποιες υποδείξεις για τη ρύθμιση ενός &os; συστήματος ως εξυπηρετητή SLIP. Τυπικά αυτό σημαίνει ότι το σύστημα σας θα ρυθμιστεί να ξεκινά αυτόματα τις συνδέσεις μετά την είσοδο απομακρυσμένων πελατών SLIP. Προϋποθέσεις TCP/IP networking Η ενότητα αυτή είναι ιδιαίτερα τεχνικής φύσεως, και για το λόγο αυτό απαιτείται να έχετε τις αντίστοιχες γνώσεις για να την κατανοήσετε. Υποθέτουμε ότι έχετε μια εξοικείωση με το πρωτόκολλο TCP/IP και ειδικότερα με τη διευθυνσιοδότηση κόμβων, τις μάσκες δικτύων, τα υποδίκτυα, τη δρομολόγηση και τα πρωτόκολλα δρομολόγησης όπως το RIP. Η ρύθμιση των υπηρεσιών SLIP σε ένα εξυπηρετητή επιλογικών συνδέσεων απαιτεί γνώση αυτών των εννοιών, και αν δεν είστε εξοικειωμένος με αυτές, σας παρακαλούμε να διαβάσετε είτε το TCP/IP Network Administration του Craig Hunt (εκδόσεις O'Reilly & Associates, Inc, Αριθμός ISBN 0-937175-82-X) ή κάποιο από τα βιβλία του Douglas Comer σχετικά με το πρωτόκολλο TCP/IP. modem Επιπλέον, υποθέτουμε ότι ήδη έχετε ρυθμίσει το modem σας και έχετε τροποποιήσει τα κατάλληλα αρχεία ρυθμίσεων του συστήματος ώστε να επιτρέπεται η είσοδος στο σύστημα μέσω των modem. Αν δεν έχετε ακόμα προετοιμάσει το σύστημα για αυτό, παρακαλούμε δείτε το για λεπτομέρειες σχετικά με τη ρύθμιση των επιλογικών συνδέσεων. Ενδεχομένως να θέλετε επίσης να δείτε τις σελίδες manual της &man.sio.4; για πληροφορίες σχετικά με το πρόγραμμα οδήγησης της σειριακής θύρας, τα &man.ttys.5;, &man.gettytab.5;, &man.getty.8;, και &man.init.8; για πληροφορίες που σχετίζονται με τη ρύθμιση του συστήματος ώστε να δέχεται είσοδο χρηστών μέσω modem, και ίσως και τη &man.stty.1; για πληροφορίες σχετικά με τις παραμέτρους σειριακών θυρών (όπως την clocal για σειριακές διεπαφές που είναι απευθείας συνδεμένες). Γρήγορη Επισκόπηση Τυπικά, ένας εξυπηρετητής SLIP που χρησιμοποιεί &os; λειτουργεί με τον εξής τρόπο: ένας χρήστης SLIP καλεί τον εξυπηρετητή SLIP, και εισέρχεται στο σύστημα μέσω ενός ειδικού αναγνωριστικού εισόδου για το SLIP. Το κέλυφος του χρήστη είναι το /usr/sbin/sliplogin. Το πρόγραμμα sliplogin διαβάζει το αρχείο /etc/sliphome/slip.hosts για να βρει μια γραμμή που να ταιριάζει με τον χρήστη, και αν υπάρχει, συνδέει την σειριακή γραμμή σε μια διαθέσιμη διεπαφή SLIP και έπειτα εκτελεί το script του κελύφους /etc/sliphome/slip.login για να ρυθμίσει τη διεπαφή SLIP. Ένα Παράδειγμα Εισόδου σε Εξυπηρετητή SLIP Για παράδειγμα, για ένα χρήστη SLIP με ID Shelmerg, η αντίστοιχη καταχώριση στο /etc/master.passwd θα έμοιαζε με την παρακάτω: Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin Όταν εισέλθει ο Shelmerg, το sliplogin θα ψάξει το /etc/sliphome/slip.hosts για μια γραμμή με ID χρήστη που να ταιριάζει. Για παράδειγμα, μπορεί να υπάρχει μια γραμμή στο /etc/sliphome/slip.hosts που να γράφει: Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp Το sliplogin θα βρει τη γραμμή αυτή, θα συνδέσει τη σειριακή γραμμή στην επόμενη διαθέσιμη διεπαφή SLIP, και έπειτα θα εκτελέσει το /etc/sliphome/slip.login όπως φαίνεται παρακάτω: /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp Αν όλα πάνε καλά, το /etc/sliphome/slip.login θα εκτελέσει μια εντολή ifconfig για τη διεπαφή SLIP στην οποία έχει συνδεθεί η sliplogin (η διεπαφή 0 στο παραπάνω παράδειγμα, η πρώτη παράμετρος της λίστας που δίνεται στο slip.login) ώστε να ρυθμιστούν η τοπική διεύθυνση IP (dc-slip), η απομακρυσμένη διεύθυνση IP (sl-helmer), η μάσκα δικτύου για τη διεπαφή SLIP (0xfffffc00), και οποιεσδήποτε πρόσθετες επιλογές (autocomp). Αν κάτι πάει στραβά, θα μπορέσετε να το εντοπίσετε από τα αρχεία καταγραφής της sliplogin. Η sliplogin καταγράφει τα μηνύματα χρησιμοποιώντας το δαίμονα syslogd ο οποίος συνήθως χρησιμοποιεί το αρχείο /var/log/messages (δείτε τις σελίδες βοήθειας για τα &man.syslogd.8; και &man.syslog.conf.5; και ενδεχομένως ελέγξτε το /etc/syslog.conf για να δείτε την τοποθεσία και το αρχείο που χρησιμοποιεί το syslogd για την καταγραφή). Ρύθμιση του Πυρήνα kernel configuration SLIP Ο προεπιλεγμένος πυρήνας του &os; (ο GENERIC) διαθέτει ενσωματωμένη υποστήριξη SLIP (&man.sl.4;). Στην περίπτωση που θέλετε να δημιουργήσετε προσαρμοσμένο πυρήνα, προσθέστε την παρακάτω γραμμή στο αρχείο ρυθμίσεων του πυρήνα σας: device sl Το &os;, από προεπιλογή, δεν προωθεί πακέτα. Αν θέλετε ο εξυπηρετητής σας να ενεργεί ως δρομολογητής, θα πρέπει να επεξεργαστείτε το αρχείο /etc/rc.conf και να αλλάξετε τη ρύθμιση της μεταβλητής gateway_enable σε . Με τον τρόπο αυτό, θα είναι σίγουρο ότι η επιλογή της δρομολόγησης θα διατηρηθεί μετά από μια επανεκκίνηση. Θα πρέπει έπειτα να επανεκκινήσετε για να ενεργοποιηθούν οι νέες ρυθμίσεις. Για να εφαρμόσετε αυτές τις ρυθμίσεις άμεσα, μπορείτε να εκτελέσετε την παρακάτω εντολή ως root: &prompt.root; /etc/rc.d/routing start Παρακαλούμε δείτε το για περισσότερες πληροφορίες σχετικά με την ρύθμιση του πυρήνα του &os;. Ρύθμιση του Sliplogin Όπως αναφέρθηκε και πριν, υπάρχουν τρία αρχεία στον κατάλογο /etc/sliphome τα οποία χρησιμοποιούνται στη ρύθμιση του /usr/sbin/sliplogin (δείτε και τη σελίδα manual του &man.sliplogin.8;): το slip.hosts, το οποίο ορίζει τους χρήστες SLIP και τις αντίστοιχες IP διευθύνσεις τους, το slip.login το οποίο συνήθως ρυθμίζει απλά την διεπαφή SLIP, και προαιρετικά το slip.logout, το οποίο αναιρεί τις αλλαγές του slip.login όταν τερματίσει η σειριακή σύνδεση. Ρύθμιση του <filename>slip.hosts</filename> Το /etc/sliphome/slip.hosts περιέχει γραμμές με τέσσερα πεδία που χωρίζονται μεταξύ τους με κενά διαστήματα: Το αναγνωριστικό εισόδου του χρήστη SLIP Την τοπική διεύθυνση (τοπική ως προς τον εξυπηρετητή SLIP) της διασύνδεσης SLIP Την απομακρυσμένη διεύθυνση της διασύνδεσης SLIP Τη μάσκα του δικτύου Η τοπική και η απομακρυσμένη διεύθυνση, μπορεί να είναι ονόματα υπολογιστών (τα οποία να μετατρέπονται σε διευθύνσεις IP μέσω του /etc/hosts ή μέσω του DNS, ανάλογα με τις καταχωρίσεις που υπάρχουν στο αρχείο /etc/nsswitch.conf), και η μάσκα δικτύου μπορεί να είναι ένα όνομα το οποίο να μπορεί να διευκρινιστεί μέσω αναζήτησης στο /etc/networks. Σε ένα δοκιμαστικό σύστημα, το /etc/sliphome/slip.hosts μοιάζει με το παρακάτω: # # login local-addr remote-addr mask opt1 opt2 # (normal,compress,noicmp) # Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp Στο τέλος της γραμμής, βρίσκονται μια ή περισσότερες από τις παρακάτω επιλογές: — χωρίς συμπίεση των επικεφαλίδων — με συμπίεση των επικεφαλίδων — με συμπίεση των επικεφαλίδων, αν επιτρέπεται από τον απομακρυσμένο υπολογιστή — απενεργοποίηση των πακέτων ICMP (με τον τρόπο αυτό τα πακέτα ping θα απορρίπτονται αντί να καταναλώνουν το εύρος ζώνης της σύνδεσης σας) SLIP TCP/IP networking Οι επιλογές που έχετε για τις τοπικές και απομακρυσμένες διευθύνσεις των SLIP συνδέσεων σας, εξαρτώνται από το αν πρόκειται να αφιερώσετε ένα υποδίκτυο TCP/IP ή αν πρόκειται να χρησιμοποιήσετε proxy ARP στο SLIP εξυπηρετητή σας (δεν είναι πραγματικό proxy ARP, αλλά στην ενότητα αυτή περιγράφεται με αυτό τον όρο). Αν δεν είστε σίγουρος ποια μέθοδο να επιλέξετε ή πως να αποδίδετε διευθύνσεις IP, παρακαλούμε ανατρέξτε στα βιβλία του TCP/IP που αναφέρονται στις Προϋποθέσεις SLIP () ή/και συμβουλευθείτε το διαχειριστή δικτύου σας. Αν πρόκειται να χρησιμοποιήσετε ξεχωριστό υποδίκτυο για τους SLIP πελάτες σας, θα χρειαστεί να διαθέσετε τον αριθμό υποδικτύου από την διεύθυνση IP που σας έχει αποδοθεί και να αποδώσετε στους πελάτες SLIP διευθύνσεις που ανήκουν σε αυτό το υποδίκτυο. Έπειτα, θα χρειαστεί μάλλον να καθορίσετε μια στατική διαδρομή στο υποδίκτυο SLIP μέσω του εξυπηρετητή SLIP στον κοντινότερο σας δρομολογητή IP. Ethernet Διαφορετικά, αν χρησιμοποιήσετε τη μέθοδο proxy ARP, θα χρειαστεί να αποδίδετε στους SLIP πελάτες σας διευθύνσεις IP που ανήκουν στο υποδίκτυο Ethernet στο οποίο ανήκει ο εξυπηρετητής SLIP, και θα χρειαστεί επίσης να ρυθμίσετε τα scripts /etc/sliphome/slip.login και /etc/sliphome/slip.logout να χρησιμοποιούν το &man.arp.8; για να χειρίζονται τις καταχωρίσεις proxy ARP στον πίνακα ARP του εξυπηρετητή SLIP. Ρύθμιση του <filename>slip.login</filename> Ένα τυπικό /etc/sliphome/slip.login μοιάζει με το παρακάτω: #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 Το αρχείο slip.login εκτελεί απλώς το ifconfig για την κατάλληλη διεπαφή SLIP, με τις τοπικές και απομακρυσμένες διευθύνσεις και τη μάσκα δικτύου της διεπαφής αυτής. Αν έχετε αποφασίσει να χρησιμοποιήσετε την μέθοδο proxy ARP (αντί να χρησιμοποιήσετε διαφορετικό υποδίκτυο για τους πελάτες SLIP), το αρχείο /etc/sliphome/slip.login θα μοιάζει με το παρακάτω: #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 # Answer ARP requests for the SLIP client with our Ethernet addr /usr/sbin/arp -s $5 00:11:22:33:44:55 pub Η πρόσθετη γραμμή σε αυτό το slip.login, η arp -s $5 00:11:22:33:44:55 pub, δημιουργεί μια καταχώριση ARP στον πίνακα ARP του εξυπηρετητή SLIP. Αυτή η καταχώριση ARP κάνει τον εξυπηρετητή SLIP να απαντά με την διεύθυνση Ethernet MAC όταν κάποιος άλλος κόμβος IP στο Ethernet επιθυμεί να επικοινωνήσει με την διεύθυνση IP του πελάτη SLIP. Ethernet MAC address Όταν χρησιμοποιείτε το παραπάνω παράδειγμα, βεβαιωθείτε ότι έχετε αντικαταστήσει την διεύθυνση MAC του Ethernet (00:11:22:33:44:55) με την αντίστοιχη της δικής σας κάρτας Ethernet, διαφορετικά το proxy ARP σίγουρα δεν θα λειτουργήσει! Μπορείτε να ανακαλύψετε τη διεύθυνση MAC του δικού σας εξυπηρετητή SLIP κοιτάζοντας τα αποτελέσματα της εντολής netstat -i. Η δεύτερη γραμμή της εξόδου θα μοιάζει με την παρακάτω: ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116 Αυτό δείχνει ότι στο συγκεκριμένο σύστημα η διεύθυνση MAC του Ethernet είναι 00:02:c1:28:5f:4a. Οι τελείες στην διεύθυνση που δείχνει η netstat -i πρέπει να αντικατασταθούν με άνω-κάτω τελείες, και κάθε μονό δεκαεξαδικό ψηφίο πρέπει να μετατραπεί σε διπλό προσθέτοντας από μπροστά ένα μηδενικό. Η διεύθυνση μετατρέπεται με αυτό τον τρόπο σε μια μορφή που μπορεί να χρησιμοποιήσει η &man.arp.8;. Δείτε τη σελίδα manual της &man.arp.8; για περισσότερες πληροφορίες σχετικά με τη χρήση της εντολής αυτής. Όταν δημιουργείτε το /etc/sliphome/slip.login και το /etc/sliphome/slip.logout, θα πρέπει να θέσετε το bit εκτέλεσης (π.χ. chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout), διαφορετικά η sliplogin δεν θα μπορεί να τα εκτελέσει. Ρύθμιση του <filename>slip.logout</filename> Το /etc/sliphome/slip.logout δεν είναι απόλυτα απαραίτητο (εκτός αν πρόκειται να υλοποιήσετε proxy ARP), αλλά αν σκοπεύετε να το δημιουργήσετε, μπορείτε να χρησιμοποιήσετε ως υπόδειγμα το παρακάτω απλό παράδειγμα: #!/bin/sh - # # slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down Αν χρησιμοποιείτε proxy ARP, θα θέλετε το /etc/sliphome/slip.logout να διαγράφει την καταχώριση ARP του πελάτη SLIP: #!/bin/sh - # # @(#)slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down # Quit answering ARP requests for the SLIP client /usr/sbin/arp -d $5 Η arp -d $5 διαγράφει την καταχώριση ARP που προστέθηκε με την εκτέλεση του slip.login του proxy ARP, κατά την είσοδο του πελάτη SLIP. Πρέπει να το επαναλάβουμε άλλη μια φορά: Βεβαιωθείτε ότι το /etc/sliphome/slip.logout έχει οριστεί ως εκτελέσιμο μετά την δημιουργία του (π.χ., chmod 755 /etc/sliphome/slip.logout). Παράγοντες που Πρέπει να Λάβετε Υπόψη σας στη Δρομολόγηση SLIP routing Αν δεν χρησιμοποιείτε την μέθοδο proxy ARP για να δρομολογείτε πακέτα μεταξύ των πελατών SLIP και του υπόλοιπου δικτύου σας (και ενδεχομένως και του Internet), θα πρέπει μάλλον να προσθέσετε στατικές διαδρομές προς τον πλησιέστερο σας προεπιλεγμένο δρομολογητή για να δρομολογείτε το υποδίκτυο των SLIP πελατών σας διαμέσου του εξυπηρετητή SLIP. Στατικές Διαδρομές static routes Η προσθήκη στατικών διαδρομών προς τους πλησιέστερους σας προεπιλεγμένους δρομολογητές, μπορεί να είναι προβληματική (ή και αδύνατη αν δεν έχετε τα κατάλληλα δικαιώματα πρόσβασης). Αν η εταιρία σας διαθέτει δίκτυο με πολλαπλούς δρομολογητές, κάποια μοντέλα (π.χ. από την Cisco και την Proteon), εκτός ότι πρέπει να ρυθμιστούν με την στατική διαδρομή προς το υποδίκτυο SLIP, πρέπει επίσης να ρυθμιστούν με τις στατικές διαδρομές που θα αναφέρουν στους άλλους δρομολογητές. Θα χρειαστεί να πειραματιστείτε και να δοκιμάσετε διάφορες ρυθμίσεις για να δουλέψει η δρομολόγηση μέσω στατικών διαδρομών. diff --git a/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml b/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml index 27a1ae9fab..848e9b65c2 100644 --- a/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml @@ -1,1831 +1,1831 @@ Ken Tom Ανανεώθηκε για τον X11 server του X.Org από τον Marc Fonvieille Το Σύστημα X Window Σύνοψη Το &os; χρησιμοποιεί το X11 για να παρέχει στους χρήστες ένα ισχυρό γραφικό περιβάλλον εργασίας. Το περιβάλλον X11 είναι μια υλοποίηση ανοικτού κώδικα του συστήματος X Window που περιλαμβάνει τόσο το &xorg; όσο και το &xfree86; (καθώς και άλλο λογισμικό που δεν περιγράφεται εδώ). Οι εκδόσεις του &os; μέχρι και την &os; 5.2.1-RELEASE διαθέτουν στην προεπιλεγμένη εγκατάσταση το &xfree86;, τον X11 server από The &xfree86; Project, Inc. Από το &os; 5.3-RELEASE και έπειτα, η προεπιλεγμένη και επίσημη διανομή του X11 άλλαξε στο &xorg;, τον X11 server που αναπτύχθηκε από το X.Org Foundation με άδεια χρήσης αρκετά όμοια με αυτή που χρησιμοποιείται από το &os;. Υπάρχουν επίσης διαθέσιμοι εμπορικοί X servers για το &os;. Αυτό το κεφάλαιο θα καλύψει την εγκατάσταση και ρύθμιση των X11 με έμφαση στην έκδοση &xorg.version; του &xorg;. Για πληροφορίες σχετικά με την ρύθμιση του &xfree86; (π.χ. σε παλιότερες εκδόσεις του &os; όπου το &xfree86; ήταν η προεπιλεγμένη διανομή X11), μπορείτε πάντα να ανατρέξετε στις αρχειοθετημένες εκδόσεις του &os; Handbook στο . Για περισσότερες πληροφορίες που σχετίζονται με τις κάρτες γραφικών που υποστηρίζονται από το περιβάλλον X11, δείτε την δικτυακή τοποθεσία &xorg;. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Τα διάφορα τμήματα του συστήματος X Window, και πως συνεργάζονται μεταξύ τους. Πως να εγκαταστήσετε και να ρυθμίσετε το περιβάλλον X11. Πως να εγκαταστήσετε και να ρυθμίσετε διαφορετικούς διαχειριστές παραθύρων (window managers). Πως να χρησιμοποιήσετε &truetype; γραμματοσειρές στο X11. Πως να ρυθμίσετε το σύστημα σας για σύνδεση (login) μέσω γραφικού περιβάλλοντος (XDM). Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να ξέρετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου κατασκευαστή (). Κατανόηση του περιβάλλοντος X11 Η χρήση του περιβάλλοντος X11 για πρώτη φορά μπορεί να προκαλέσει μια μικρή ταραχή σε όποιον έχει συνηθίσει σε άλλα γραφικά περιβάλλοντα, όπως τα µsoft.windows; ή το &macos;. Γενικά, δεν είναι απαραίτητο να καταλαβαίνετε με κάθε λεπτομέρεια των διαφόρων τμημάτων του X11 και πώς αλληλεπιδρούν μεταξύ τους. Κάποιες βασικές γνώσεις όμως, είναι χρήσιμες και βοηθούν στο να εκμεταλλευτείτε καλύτερα τις δυνατότητες του X11. Γιατί λέγεται X11 το περιβάλλον εργασίας; Το X δεν είναι το πρώτο περιβάλλον εργασίας που γράφτηκε για συστήματα &unix;, αλλά είναι σήμερα το πιο δημοφιλές. Η αρχική ομάδα ανάπτυξης του X είχε δουλέψει σε ένα άλλο σύστημα πριν γράψει το X. Το όνομα του παλιότερου συστήματος ήταν W (από την Αγγλική λέξη window). Το γράμμα X ήταν απλά το επόμενο γράμμα στο Λατινικό αλφάβητο. Μπορείτε να αναφέρεσθε στο X με τα ονόματα X, X Window System, X11, καθώς και με μερικούς άλλους όρους. Προσοχή όμως: κάποιοι άνθρωποι θεωρούν προσβλητικό τον όρο X Windows. Για περισσότερες πληροφορίες σχετικά με αυτό, δείτε τη σελίδα manual &man.X.7;. Το Μοντέλο Πελάτη/Διακομιστή των X11 Το περιβάλλον X11 έχει σχεδιαστεί από την αρχή έτσι ώστε να έχει εγγενή δικτυακή υποστήριξη, με βάση ένα μοντέλο πελάτη-διακομιστή. Στο μοντέλο λειτουργίας του X11, ο διακομιστής X εκτελείται στον υπολογιστή στον οποίο έχει συνδεθεί το πληκτρολόγιο, η οθόνη και το ποντίκι. Ο διακομιστής X είναι υπεύθυνος για τη διαχείριση της οθόνης, της εισόδου από το πληκτρολόγιο, το ποντίκι, κλπ. Κάθε εφαρμογή X (π.χ. το XTerm ή το &netscape;) είναι ένας πελάτης. Ένας πελάτης στέλνει μηνύματα στον διακομιστή όπως Παρακαλώ σχεδίασε ένα παράθυρο σε αυτές τις συντεταγμένες, και ο διακομιστής στέλνει πίσω μηνύματα όπως Ο χρήστης μόλις πάτησε το πλήκτρο OK. Σε ένα σπίτι ή ένα μικρό γραφείο, ο διακομιστής και οι πελάτες X συχνά εκτελούνται στον ίδιο υπολογιστή. Όμως, είναι απόλυτα εφικτό να εκτελείται ο διακομιστής X σε έναν λιγότερο ισχυρό επιτραπέζιο υπολογιστή, και να εκτελούνται οι εφαρμογές X (οι πελάτες) σε ένα, ας πούμε, ισχυρό και ακριβό μηχάνημα που εξυπηρετεί το γραφείο. Σε αυτό το σενάριο η επικοινωνία μεταξύ των πελατών X και του διακομιστή γίνεται μέσω δικτύου. Αυτό προκαλεί σύγχυση σε ορισμένους, επειδή η ορολογία του X είναι ακριβώς αντίθετη από ότι περίμεναν. Οι χρήστες συνήθως περιμένουν ο διακομιστής X να είναι ένα μεγάλο ισχυρό μηχάνημα σε ένα δωμάτιο και ο πελάτης X να είναι το μηχάνημα του γραφείου τους. Είναι σημαντικό να θυμάστε ότι ο διακομιστής X είναι το μηχάνημα με την οθόνη και το πληκτρολόγιο, και οι πελάτες X είναι τα προγράμματα που εμφανίζουν τα παράθυρα. Δεν υπάρχει τίποτα στο πρωτόκολλο που να αναγκάζει τα μηχανήματα των πελατών και του διακομιστή να εκτελούνται στο ίδιο λειτουργικό σύστημα, ή ακόμη να εκτελούνται στον ίδιο τύπο υπολογιστή. Είναι απόλυτα εφικτό να εκτελείται ένας διακομιστής X στα µsoft.windows; ή στο &macos; της Apple, και υπάρχουν διαθέσιμες διάφορες ελεύθερες και εμπορικές εφαρμογές που κάνουν ακριβώς αυτό. Ο Διαχειριστής Παραθύρων Η φιλοσοφία σχεδιασμού του X μοιάζει πολύ με την φιλοσοφία σχεδιασμού του &unix;, εργαλεία, όχι πολιτική. Αυτό σημαίνει ότι το X δεν προσπαθεί να υπαγορεύσει πως θα υλοποιηθεί μια εργασία. Αντίθετα, παρέχονται εργαλεία στον χρήστη, και είναι δική του ευθύνη να αποφασίσει πως θα τα χρησιμοποιήσει. Αυτή η φιλοσοφία επεκτείνεται στο ότι το X δεν υπαγορεύει πως πρέπει να εμφανίζονται τα παράθυρα στην οθόνη, πως θα μετακινηθούν με το ποντίκι, τι συνδυασμοί πλήκτρων πρέπει να χρησιμοποιηθούν για να μετακινηθούμε μεταξύ των παραθύρων (π.χ., Alt Tab , στην περίπτωση των µsoft.windows;), πώς πρέπει να μοιάζουν οι μπάρες τίτλων σε κάθε παράθυρο, αν θα έχουν ή όχι πλήκτρα κλεισίματος πάνω τους, κ.o.κ. Αντίθετα, το X αναθέτει αυτήν την ευθύνη σε μία εφαρμογή που ονομάζεται Διαχειριστής Παραθύρων. Υπάρχουν πάρα πολλοί διαχειριστές παραθύρων διαθέσιμοι για το περιβάλλον X. Ορισμένοι από αυτούς είναι οι: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker, και πολλοί άλλοι. Κάθε ένας από αυτούς τους διαχειριστές παραθύρων έχει διαφορετική αίσθηση και εμφάνιση. Μερικοί από αυτούς υποστηρίζουν εικονικές επιφάνειες εργασίας, μερικοί επιτρέπουν προσαρμοσμένους συνδυασμούς πλήκτρων για την διαχείριση της επιφάνειας εργασίας, μερικοί έχουν ένα πλήκτρο Start ή κάτι παρόμοιο, μερικοί υποστηρίζουν θέματα (themes), επιτρέποντας την ολοκληρωτική αλλαγή εμφάνισης με την εφαρμογή ενός νέου θέματος. Οι διαχειριστές παραθύρων που έχουμε αναφέρει ως τώρα, και πολλοί άλλοι, είναι διαθέσιμοι στην κατηγορία - x11-wm της συλλογής των Ports. + x11-wm της Συλλογής των Ports. Επιπλέον, τα δύο πιο δημοφιλή ολοκληρωμένα περιβάλλοντα εργασίας, το KDE και το GNOME, έχουν τον δικό τους διαχειριστή παραθύρων που είναι ενσωματωμένος με το υπόλοιπο περιβάλλον εργασίας. Κάθε διαχειριστής παραθύρων έχει επίσης και διαφορετικό μηχανισμό ρύθμισης: μερικοί ρυθμίζονται συμπληρώνοντας με χειροκίνητο τρόπο ένα αρχείο ρυθμίσεων, άλλοι διαθέτουν γραφικά εργαλεία για τις περισσότερες ρυθμίσεις. Υπάρχει ακόμα κι ένας (Sawfish) που έχει αρχείο ρυθμίσεων γραμμένο σε μια διάλεκτο της γλώσσας Lisp. Πολιτική Εστίασης Άλλο ένα θέμα για το οποίο είναι υπεύθυνος ο διαχειριστής παραθύρων είναι η πολιτική εστίασης του ποντικιού. Κάθε σύστημα παραθύρων χρειάζεται κάποιο τρόπο επιλογής του παραθύρου που θα δέχεται αυτά που πληκτρολογούνται, και θα πρέπει να φαίνεται κάπως ότι αυτό το παράθυρο είναι ενεργό. Μία γνωστή πολιτική εστίασης λέγεται click-to-focus. Αυτό το μοντέλο χρησιμοποιείται στα µsoft.windows;, όπου ένα παράθυρο γίνεται ενεργό αν δεχτεί ένα πάτημα του ποντικιού. Το X δεν υποστηρίζει καμία συγκεκριμένη πολιτική εστίασης. Αντίθετα, ο διαχειριστής παραθύρων ελέγχει ποίο παράθυρο έχει εστιαστεί κάθε στιγμή. Διαφορετικοί διαχειριστές παραθύρων υποστηρίζουν διαφορετικές μεθόδους εστίασης. Όλοι τους υποστηρίζουν την μέθοδο click to focus, και οι περισσότεροι από αυτούς υποστηρίζουν και αρκετές άλλες. Οι πιο δημοφιλείς μέθοδοι εστίασης είναι: focus-follows-mouse Το παράθυρο που βρίσκεται κάτω από τον δείκτη του ποντικιού είναι το παράθυρο που έχει την εστίαση. Το ενεργό παράθυρο δεν είναι απαραίτητο να είναι αυτό που βρίσκεται πάνω από όλα τα άλλα. Η εστίαση αλλάζει με την στόχευση ενός άλλου παραθύρου, χωρίς να είναι απαραίτητο το κλικ πάνω του. sloppy-focus Αυτή η πολιτική είναι μια μικρή επέκταση του focus-follows-mouse. Με την πολιτική εστίασης focus-follows-mouse, αν το ποντίκι βρεθεί πάνω από το αρχικό (root) παράθυρο (ή το παρασκήνιο) δεν υπάρχει εστίαση σε κανένα παράθυρο, και ότι πληκτρολογείται απλώς χάνεται. Με τη sloppy-focus, η εστίαση αλλάζει μόνο αν ο δείκτης βρεθεί πάνω από ένα νέο παράθυρο, και όχι όταν φεύγει από το τρέχον παράθυρο. click-to-focus Το ενεργό παράθυρο επιλέγεται με κλικ του ποντικιού. Το παράθυρο τότε ανασηκώνεται, και εμφανίζεται μπροστά από όλα τα άλλα παράθυρα. Ότι πληκτρολογηθεί θα οδηγηθεί σε αυτό το παράθυρο, ακόμα και αν ο δείκτης μετακινηθεί σε άλλο παράθυρο. Πολλοί διαχειριστές παραθύρων υποστηρίζουν ακόμα πιο εξωτικές πολιτικές εστίασης, καθώς και παραλλαγές των παραπάνω. Συμβουλευθείτε την τεκμηρίωση του εκάστοτε διαχειριστή παραθύρων για περισσότερες λεπτομέρειες. Γραφικά Στοιχεία Διεπαφής (Widgets) Η προσέγγιση του X να διαθέτει εργαλεία και όχι να υπαγορεύει τον τρόπο χρήσης τους, διευρύνεται και στα γραφικά στοιχεία διεπαφής (widgets) που φαίνονται στην οθόνη σε κάθε εφαρμογή. Τα widgets είναι ένας όρος για όλα τα αντικείμενα στο περιβάλλον του χρήστη που μπορεί κάποιος να κάνει κλικ ή να τα χειριστεί με κάποιον τρόπο: πλήκτρα, πλαίσια επιλογής, πλήκτρα εναλλαγής, εικονίδια, λίστες, και άλλα. Τα µsoft.windows; τα ονομάζουν controls (χειριστήρια). Τα µsoft.windows; και το &macos; της Apple έχουν και τα δύο πολύ αυστηρή πολιτική γραφικών στοιχείων διεπαφής. Οι προγραμματιστές εφαρμογών πρέπει υποτίθεται να εξασφαλίσουν ότι οι εφαρμογές τους θα έχουν κοινή αίσθηση και εμφάνιση (look and feel). Στο X, δεν θεωρήθηκε απαραίτητο να γίνει επιβολή ενός συγκεκριμένου στυλ γραφικών, ή να τεθούν κάποια υποχρεωτικά γραφικά στοιχεία διεπαφής. Σαν αποτέλεσμα, μην περιμένετε τις εφαρμογές για X να έχουν κοινή εμφάνιση. Υπάρχουν διάφορες δημοφιλείς συλλογές γραφικών στοιχείων διεπαφής και παραλλαγές τους, συμπεριλαμβανομένης και της αυθεντικής Athena συλλογής γραφικών στοιχείων διεπαφής του MIT, &motif; (παραλλαγή της οποίας είναι και η συλλογή γραφικών στοιχείων διεπαφής των µsoft.windows;, με λοξές γωνίες και τρεις διαβαθμίσεις του γκρι), το OpenLook, και άλλα. Οι περισσότερες νέες X εφαρμογές σήμερα χρησιμοποιούν μια συλλογή γραφικών στοιχείων διεπαφής με μοντέρνα εμφάνιση, είτε το Qt, που χρησιμοποιείται από το KDE, είτε το GTK+, που χρησιμοποιείται από το GNOME. Από αυτή την άποψη, υπάρχει κάποια σύγκλιση στην εμφάνιση του &unix; desktop, το οποίο οπωσδήποτε κάνει τα πράγματα ευκολότερα για τον νέο χρήστη. Εγκατάσταση του X11 Το &xorg; είναι η προεπιλεγμένη υλοποίηση X11 για το &os;. Το &xorg; είναι ο διακομιστής Χ της υλοποίησης X Window System του X.Org Foundation, και είναι ανοικτού κώδικα. Ο &xorg; είναι βασισμένος στον κώδικα του &xfree86 4.4RC2 και του X11R6.6. Η έκδοση του &xorg; που διατίθεται - από την συλλογή των Ports του &os; είναι η &xorg.version;. + από την Συλλογή των Ports του &os; είναι η &xorg.version;. Για να μεταγλωττίσετε και να εγκαταστήσετε το - &xorg; από την συλλογή των Ports: + &xorg; από την Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean Για να μεταγλωττίσετε ολόκληρο το &xorg; σιγουρευθείτε ότι έχετε το λιγότερο 4 GB ελεύθερο χώρο διαθέσιμο. Εναλλακτικά, το X11 μπορεί να εγκατασταθεί άμεσα από πακέτα. Υπάρχουν διαθέσιμα έτοιμα πακέτα του Χ11 για χρήση με το εργαλείο &man.pkg.add.1;. Αν χρησιμοποιήσετε τη δυνατότητα του &man.pkg.add.1; για λήψη μέσω δικτύου, δεν θα πρέπει στην γραμμή εντολών να δώσετε τον αριθμό έκδοσης (version number) του πακέτου. Το &man.pkg.add.1; θα κατεβάσει αυτόματα την τελευταία έκδοση της εφαρμογής. Έτσι, για να γίνει η λήψη και η εγκατάσταση του &xorg;, απλώς εκτελέστε: &prompt.root; pkg_add -r xorg Τα παραπάνω παραδείγματα θα εγκαταστήσουν ολόκληρη την διανομή X11 που περιλαμβάνει διακομιστές, πελάτες, γραμματοσειρές κλπ. Διατίθενται επίσης ξεχωριστά, τμηματικά πακέτα και ports για το X11. Για να εγκαταστήσετε την ελάχιστη δυνατή διανομή X11, μπορείτε εναλλακτικά να χρησιμοποιήσετε το port x11/xorg-minimal. Το υπόλοιπο του κεφαλαίου θα σας εξηγήσει πως ρυθμίζεται το X11, και πως να στήσετε ένα παραγωγικό desktop περιβάλλον. Christopher Shumway Συνεισφορά του Ρύθμιση του X11 &xorg; X11 Πριν ξεκινήσετε Πριν την ρύθμιση του X11 χρειάζονται οι ακόλουθες πληροφορίες για το σύστημα: Προδιαγραφές της οθόνης Chipset της κάρτας γραφικών Μνήμη της κάρτας γραφικών οριζόντιος ρυθμός ανανέωσης κατακόρυφος ρυθμός ανανέωσης Οι προδιαγραφές της οθόνης χρησιμοποιούνται από το X11 για να ορισθεί η ανάλυση και ο ρυθμός ανανέωσης στο οποίο θα λειτουργήσει. Οι προδιαγραφές αυτές βρίσκονται συνήθως στην τεκμηρίωση που συνοδεύει την οθόνη ή στην ιστοσελίδα του κατασκευαστή. Χρειάζονται δύο σειρές αριθμών, ο οριζόντιος ρυθμός ανανέωσης και ο κατακόρυφος ρυθμός ανανέωσης. Το chipset (ολοκληρωμένο κύκλωμα) της κάρτας γραφικών ορίζει ποίος οδηγός συσκευής θα χρησιμοποιηθεί από το X11 για την επικοινωνία με την κάρτα γραφικών. Για τα περισσότερα chipset, αυτό μπορεί να ανιχνευθεί αυτόματα, αλλά είναι χρήσιμο να το γνωρίζετε σε περίπτωση που δεν πετύχει η αυτόματη ανίχνευση. Η μνήμη της κάρτας γραφικών καθορίζει την ανάλυση και το βάθος χρώματος στο οποίο μπορεί να δουλέψει το σύστημα. Αυτό είναι σημαντικό ώστε να γνωρίζει ο χρήστης τα όρια του συστήματος. Ρύθμιση του X11 Από την έκδοση 7.3 και μετά, το &xorg; μπορεί συχνά να λειτουργήσει χωρίς κανένα αρχείο ρυθμίσεων, γράφοντας απλώς στη γραμμή εντολών: &prompt.user; startx Από την έκδοση 7.4 και μετά, το &xorg; έχει τη δυνατότητα να χρησιμοποιεί το HAL για την αυτόματη ανίχνευση του πληκτρολογίου και του ποντικιού. Τα ports sysutils/hal και devel/dbus εγκαθίστανται ως εξαρτήσεις του x11/xorg, αλλά θα πρέπει να ενεργοποιηθούν με τις ακόλουθες εγγραφές στο /etc/rc.conf: hald_enable="YES" dbus_enable="YES" Θα πρέπει να ξεκινήσετε τις υπηρεσίες αυτές (είτε χειροκίνητα, είτε κάνοντας επανεκκίνηση) πριν συνεχίσετε με τη ρύθμιση του &xorg;. Σε κάποιες περιπτώσεις, η αυτόματη ρύθμιση μπορεί να μη λειτουργήσει σωστά, ή να μη ρυθμίσει τις συσκευές ακριβώς όπως επιθυμείτε. Στις περιπτώσεις αυτές, θα χρειαστεί να κάνετε χειροκίνητες ρυθμίσεις. Κάποια γραφικά περιβάλλοντα, όπως το GNOME το KDE ή το XFCE, διαθέτουν εργαλεία που επιτρέπουν στο χρήστη να ρυθμίσει με εύκολο τρόπο διάφορες παραμέτρους της οθόνης, όπως η ανάλυση. Αν η προεπιλεγμένη ρύθμιση δεν είναι αποδεκτή, και σκοπεύετε να εγκαταστήσετε κάποιο από αυτά τα περιβάλλοντα, μπορείτε να συνεχίσετε με την εγκατάσταση του, και να ολοκληρώσετε τις ρυθμίσεις σας χρησιμοποιώντας το κατάλληλο γραφικό εργαλείο. Το πρώτο βήμα είναι η δημιουργία ενός αρχικού αρχείου ρυθμίσεων. Ως root, απλώς εκτελέστε: &prompt.root; Xorg -configure Αυτό θα δημιουργήσει ένα πρότυπο αρχείο ρυθμίσεων του X11 στον κατάλογο /root με το όνομα xorg.conf.new (είτε χρησιμοποιήσετε το &man.su.1; είτε συνδεθείτε απευθείας, η μεταβλητή καταλόγου $HOME αλλάζει δείχνοντας τον κατάλογο του root). Το X11 θα προσπαθήσει να ανιχνεύσει το υποσύστημα γραφικών του συστήματος και να δημιουργήσει ένα αρχείο ρυθμίσεων που θα φορτώνει τους σωστούς οδηγούς συσκευών για το υλικό που ανιχνεύθηκε στο σύστημα σας. Το επόμενο βήμα είναι ο έλεγχος των υπάρχοντων ρυθμίσεων για να επιβεβαιώσετε ότι το &xorg; λειτουργεί με το υποσύστημα γραφικών του συστήματος σας. Για εκδόσεις του &xorg; μέχρι το 7.3, πληκτρολογήστε: &prompt.root; Xorg -config xorg.conf.new Από το &xorg; 7.4 και μετά, το παραπάνω τεστ δείχνει μια μαύρη οθόνη η οποία κάνει δύσκολη τη διάγνωση καλής λειτουργίας του X11. Χρησιμοποιήστε την επιλογή για να αποκαταστήσετε την παλιότερη συμπεριφορά: &prompt.root; Xorg -config xorg.conf.new -retro Εάν εμφανιστεί ένα μαύρο και γκρι πλέγμα και ένας δείκτης ποντικιού με μορφή X, η ρύθμιση ήταν επιτυχής. Για να τερματίσετε τη δοκιμή, μεταβείτε στην εικονική κονσόλα από την οποία την ξεκινήσατε, πιέζοντας Ctrl Alt Fn (F1 για την πρώτη εικονική κονσόλα) και πιέστε Ctrl C . Στις εκδόσεις του &xorg; πριν την 7.3, μπορούσε να χρησιμοποιηθεί ο συνδυασμός πλήκτρων Ctrl Alt Backspace για τον τερματισμό του προγράμματος. Για να τον ενεργοποιήσετε από την έκδοση 7.4 και μετά, μπορείτε να δώσετε την παρακάτω εντολή σε κάποιο τερματικό του X: &prompt.user; setxkbmap -option terminate:ctrl_alt_bksp Εναλλακτικά, δημιουργήστε ένα αρχείο ρυθμίσεων πληκτρολογίου για το hald με την ονομασία x11-input.fdi και αποθηκεύστε το στον κατάλογο /usr/local/etc/hal/fdi/policy. Το αρχείο αυτό θα πρέπει να περιέχει τις παρακάτω γραμμές: <?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> </match> </device> </deviceinfo> Θα χρειαστεί να επανεκκινήσετε το μηχάνημα σας για να εξαναγκάσετε το hald να διαβάσει αυτό το αρχείο. Θα πρέπει επίσης να προσθέσετε την παρακάτω γραμμή στο αρχείο xorg.conf.new, στην ενότητα ServerLayout ή ServerFlags: Option "DontZap" "off" Αν το ποντίκι δεν λειτουργεί, θα χρειαστεί να το ρυθμίσετε πριν συνεχίσετε. Δείτε το στο κεφάλαιο εγκατάστασης του &os;. Επιπρόσθετα, από την έκδοση 7.4 και μετά, οι ενότητες InputDevice στο xorg.conf αγνοούνται καθώς γίνεται χρήση των συσκευών που ανιχνεύθηκαν αυτόματα. Για να επαναφέρετε την παλιά συμπεριφορά, προσθέστε την παρακάτω γραμμή στην ενότητα ServerLayout ή ServerFlags του αρχείου ρυθμίσεων: Option "AutoAddDevices" "false" Θα μπορείτε έπειτα να ρυθμίσετε τις συσκευές εισόδου όπως στις προηγούμενες εκδόσεις του &xorg;, χρησιμοποιώντας και όποιες άλλες επιλογές χρειάζεστε (π.χ. εναλλαγή πληκτρολογίου). Όπως εξηγήσαμε και προηγουμένως, από την έκδοση 7.4 και μετά ο δαίμονας hald αναλαμβάνει να ανιχνεύσει αυτόματα το πληκτρολόγιο σας. Υπάρχει περίπτωση να μην γίνει σωστή ανίχνευση του μοντέλου ή της διάταξης, ωστόσο κάποια γραφικά περιβάλλοντα όπως το GNOME το KDE και το Xfce παρέχουν τα δικά τους εργαλεία για τη ρύθμιση του. Μπορείτε όμως να ρυθμίσετε τις ιδιότητες του πληκτρολογίου και απευθείας, είτε μέσω του βοηθητικού προγράμματος &man.setxkbmap.1; είτε με την προσθήκη ενός κανόνα στο hald. Για παράδειγμα, αν κάποιος θέλει να χρησιμοποιήσει ένα πληκτρολόγιο 102 πλήκτρων με γαλλική διάταξη, θα πρέπει να δημιουργήσει ένα αρχείο ρυθμίσεων για το hald με το όνομα x11-input.fdi και να το αποθηκεύσει στον κατάλογο /usr/local/etc/hal/fdi/policy. Το αρχείο αυτό θα περιέχει τις παρακάτω γραμμές: <?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbModel" type="string">pc102</merge> <merge key="input.x11_options.XkbLayout" type="string">fr</merge> </match> </device> </deviceinfo> Αν το αρχείο αυτό υπάρχει ήδη, απλώς αντιγράψτε τις παραπάνω γραμμές μέσα στο υπάρχον περιεχόμενο. Θα πρέπει να επανεκκινήσετε το μηχάνημα σας για να εξαναγκάσετε το hald να διαβάσει το αρχείο. Μπορείτε επίσης να κάνετε την ίδια ρύθμιση μέσα από ένα τερματικό στα Χ ή ακόμα και από ένα script, εκτελώντας την παρακάτω εντολή: &prompt.user; setxkbmap -model pc102 -layout fr Μπορείτε να βρείτε τις διαθέσιμες επιλογές πληκτρολογίων και διατάξεων στο αρχείο /usr/local/share/X11/xkb/rules/base.lst. Ρύθμιση του X11 Έπειτα, προσαρμόστε το αρχείο ρυθμίσεων xorg.conf.new στις προτιμήσεις σας. Ανοίξτε το με έναν συντάκτη κειμένου όπως ο &man.emacs.1; ή ο &man.ee.1;. Πρώτα, προσθέστε τις συχνότητες της οθόνης. Συνήθως αναφέρονται ως οριζόντιοι και κατακόρυφοι ρυθμοί συγχρονισμού. Αυτές οι τιμές τοποθετούνται στο αρχείο xorg.conf.new στο Section "Monitor": Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection Οι μεταβλητές HorizSync και VertRefresh μπορεί να μην υπάρχουν στο αρχείο ρυθμίσεων. Αν δεν υπάρχουν, πρέπει να προστεθούν, με τον σωστό οριζόντιο ρυθμό συγχρονισμού μετά την λέξη HorizSync και τον κατακόρυφο ρυθμό συγχρονισμού μετά την λέξη VertRefresh. Στο παραπάνω παράδειγμα, προσθέσαμε τους αντίστοιχους ρυθμούς ανανέωσης της οθόνης μας. Το X επιτρέπει τη χρήση των δυνατοτήτων DPMS (Energy Star) σε οθόνες που υποστηρίζουν την αντίστοιχη λειτουργία. Το πρόγραμμα &man.xset.1; ελέγχει τους χρόνους και μπορεί να επιβάλλει τις καταστάσεις standby, suspend, ή off. Αν θέλετε να ενεργοποιήσετε τις δυνατότητες DPMS της οθόνης σας, πρέπει να προσθέσετε την ακόλουθη γραμμή στο Section monitor: Option "DPMS" xorg.conf Όσο το αρχείο ρυθμίσεων xorg.conf.new είναι ακόμα ανοικτό σε έναν συντάκτη κειμένου, επιλέξτε την ανάλυση και το βάθος χρωμάτων που επιθυμείτε. Αυτό καθορίζεται στο Section "Screen": Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection Η μεταβλητή DefaultDepth ορίζει το προεπιλεγμένο βάθος χρώματος που θα χρησιμοποιηθεί. Μπορείτε να την παρακάμψετε με τον διακόπτη στη γραμμή εντολών του &man.Xorg.1;. Η επιλογή Modes ορίζει την ανάλυση με την οποία θα λειτουργεί η οθόνη σε ένα συγκεκριμένο βάθος χρωμάτων. Προσέξτε ότι υποστηρίζονται μόνο κανονικές καταστάσεις VESA, όπως ορίζονται από το υποσύστημα γραφικών του συστήματος. Στο παραπάνω παράδειγμα, το καθορισμένο βάθος χρωμάτων είναι εικοσιτέσσερα bits ανά pixel. Σε αυτό το βάθος χρωμάτων, η αποδεκτή ανάλυση είναι 1024Χ768 pixels. Τέλος, αποθηκεύστε το αρχείο ρυθμίσεων και ελέγξτε το με την μέθοδο ελέγχου που εξηγήσαμε παραπάνω. Ένα από τα εργαλεία που μπορεί να σας βοηθήσουν κατά την διαδικασία επίλυσης προβλημάτων, είναι τα αρχεία X11 log, που περιέχουν πληροφορίες για κάθε συσκευή που επικοινωνεί με τον διακομιστή X11. Τα αρχεία &xorg; log ονομάζονται με την μορφή /var/log/Xorg.0.log. Το ακριβές όνομα ενός log μπορεί να είναι Xorg.0.log έως Xorg.8.log και πάει λέγοντας. Αν όλα είναι καλά, το αρχείο ρυθμίσεων πρέπει να τοποθετηθεί σε μια κοινή τοποθεσία ώστε να εντοπίζεται από το &man.Xorg.1;. Αυτή συνήθως είναι η /etc/X11/xorg.conf ή /usr/local/etc/X11/xorg.conf. &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf Η διαδικασία ρύθμισης του X11 έχει τώρα ολοκληρωθεί Το &xorg; μπορείτε να το ξεκινήσετε με το βοηθητικό πρόγραμμα &man.startx.1;. Ο διακομιστής X11 μπορεί επίσης να εκκινήσει με τη βοήθεια του &man.xdm.1;. Εξειδικευμένα Θέματα Ρυθμίσεων Ρυθμίσεις για τα &intel; i810 Graphics Chipsets Intel i810 graphic chipset Για να χρησιμοποιήσετε κάρτα βασισμένη στα &intel; i810 integrated chipsets, απαιτείται το agpgart, η διεπαφή προγραμματισμού των X11 για το AGP. Δείτε την σελίδα manual του προγράμματος οδήγησης &man.agp.4; για περισσότερες πληροφορίες. Mε αυτό τον τρόπο, η ρύθμιση του υλικού σας θα μπορεί να γίνει όπως και σε κάθε άλλη κάρτα γραφικών. Προσοχή, σε συστήματα χωρίς ενσωματωμένο τον οδηγό &man.agp.4;, ο οδηγός δεν θα φορτωθεί με την εντολή &man.kldload.8;. Ο οδηγός αυτός πρέπει να βρίσκεται στον πυρήνα κατά την εκκίνηση, είτε στατικά μεταγλωττισμένος, είτε με χρήση του /boot/loader.conf. Προσθέτοντας μια Widescreen Επίπεδη Οθόνη Ρύθμιση widescreen επίπεδης οθόνης Αυτό το τμήμα προϋποθέτει μερικές γνώσεις εξειδικευμένων ρυθμίσεων. Αν οι προσπάθειες με τα συνήθη εργαλεία ρυθμίσεων δεν καταλήξουν σε μια ρύθμιση που να λειτουργεί, υπάρχουν αρκετές πληροφορίες στα αρχεία log που μπορούν να σας βοηθήσουν. Ωστόσο, είναι απαραίτητη η χρήση ενός συντάκτη κειμένου. Οι τρέχουσες αναλύσεις widescreen (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, κ.α.) υποστηρίζουν formats και aspect ratios (αναλογίες) 16:10 και 16:9 που μπορεί να δημιουργήσουν προβλήματα. Παραδείγματα μερικών κοινών αναλύσεων για αναλογία 16:10 είναι τα: 2560x1600 1920x1200 1680x1050 1440x900 1280x800 Κάποια στιγμή, η ρύθμιση θα γίνεται πολύ απλά προσθέτοντας την ανάλυση ως ένα πιθανό Mode στο Section "Screen" όπως εδώ: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection Το &xorg; είναι αρκετά έξυπνο ώστε να ανακτήσει τις πληροφορίες της ανάλυσης της widescreen οθόνης μέσω των πληροφοριών I2C/DDC, γνωρίζοντας έτσι τι μπορεί να χειριστεί η οθόνη όσο αφορά τις συχνότητες και τις αναλύσεις. Αν αυτές οι ModeLines δεν υπάρχουν στους οδηγούς, μπορεί να χρειαστεί να τις δώσετε εσείς στο &xorg;. Χρησιμοποιώντας το /var/log/Xorg.0.log μπορείτε να ανακτήσετε αρκετές πληροφορίες ώστε να δημιουργήσετε μόνοι σας ένα ModeLine που να λειτουργεί. Απλώς αναζητήστε πληροφορίες που θα μοιάζουν με αυτό: (II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz Αυτές ονομάζονται πληροφορίες EDID. Η δημιουργία ενός ModeLine από αυτές, γίνεται βάζοντας απλώς τους αριθμούς στη σωστή σειρά: ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings> Τελικά, το ModeLine στο Section "Monitor" στο παράδειγμα μας θα μοιάζει με αυτό: Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection Τώρα που έχετε τελειώσει με αυτά τα απλά βήματα, το X θα πρέπει να λειτουργήσει στη νέα widescreen οθόνη σας. Murray Stokely Συνεισφορά του Χρήση Γραμματοσειρών στο X11 Γραμματοσειρές τύπου Type1 Οι προκαθορισμένες γραμματοσειρές που συνοδεύουν το X11 δεν είναι ιδανικές για εφαρμογές επιτραπέζιας τυπογραφίας. Οι μεγάλες γραμματοσειρές παρουσίασης φαίνονται οδοντωτές και ερασιτεχνικές, και οι μικρές γραμματοσειρές στο &netscape; είναι σχεδόν ακατάληπτες. Ευτυχώς όμως, υπάρχουν διαθέσιμες αρκετές, υψηλής ποιότητας γραμματοσειρές Type1 (&postscript;) που μπορούν να χρησιμοποιηθούν άμεσα από το X11. Για παράδειγμα, η συλλογή γραμματοσειρών URW (x11-fonts/urwfonts) περιέχει εκδόσεις υψηλής ποιότητας των συνηθισμένων type1 γραμματοσειρών (Times Roman, Helvetica, Palatino και άλλες). Η συλλογή Freefonts (x11-fonts/freefonts) περιέχει πολλές περισσότερες γραμματοσειρές, αλλά οι περισσότερες από αυτές είναι για λογισμικό γραφικών όπως το Gimp, και δεν είναι κατάλληλες για γραμματοσειρές οθόνης. Ακόμη, το X11 μπορεί με ελάχιστο κόπο να ρυθμιστεί ώστε να χρησιμοποιεί &truetype; γραμματοσειρές. Για περισσότερες λεπτομέρειες, δείτε την σελίδα manual &man.X.7; ή το τμήμα σχετικά με τις γραμματοσειρές &truetype;. Για να εγκαταστήσετε τις παραπάνω συλλογές γραμματοσειρών Type1 - από την συλλογή των ports, εκτελέστε τις παρακάτω εντολές: + από την Συλλογή των Ports, εκτελέστε τις παρακάτω εντολές: &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean Με παρόμοιο τρόπο μπορείτε να εγκαταστήσετε και την freefont ή άλλες συλλογές. Για να ανιχνεύσει ο X server αυτές τις γραμματοσειρές, προσθέστε την κατάλληλη γραμμή στο αρχείο ρυθμίσεων του (/etc/X11/xorg.conf): FontPath "/usr/local/lib/X11/fonts/URW/" Εναλλακτικά, εκτελέστε στην γραμμή εντολών μιας συνόδου X: &prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW &prompt.user; xset fp rehash Αυτό θα λειτουργήσει, αλλά όταν τερματίσει η σύνοδος X, οι ρυθμίσεις θα χαθούν, εκτός αν προστεθούν στο αρχείο εκκίνησης (το ~/.xinitrc για μία συνηθισμένη σύνοδο μέσω startx, η το ~/.xsession αν συνδέεστε μέσω ενός γραφικού διαχειριστή σύνδεσης όπως ο XDM). Ένας ακόμη τρόπος είναι να χρησιμοποιήσετε το αρχείο /usr/local/etc/fonts/local.conf: δείτε το τμήμα anti-aliasing (εξομάλυνσης). Γραμματοσειρές &truetype; Γραμματοσειρές TrueType γραμματοσειρές TrueType Το &xorg; έχει ενσωματωμένη υποστήριξη απεικόνισης γραμματοσειρών &truetype;. Υπάρχουν δύο διαφορετικά modules (αρθρώματα) που μπορούν να ενεργοποιήσουν αυτήν την λειτουργία. Σε αυτό το παράδειγμα χρησιμοποιείται το freetype module επειδή είναι πιο συνεργάσιμο με τα άλλα back-ends απεικόνισης γραμματοσειρών. Για να ενεργοποιήσετε το freetype module, απλώς προσθέστε την παρακάτω γραμμή στο τμήμα "Module" του αρχείου /etc/X11/xorg.conf. Load "freetype" Τώρα, δημιουργήστε έναν κατάλογο για τις γραμματοσειρές &truetype; (για παράδειγμα, /usr/local/lib/X11/fonts/TrueType) και αντιγράψτε όλες τις γραμματοσειρές &truetype; σε αυτόν. Προσέξτε ότι οι γραμματοσειρές &truetype; δεν μπορούν να είναι από ένα σύστημα &macintosh; πρέπει να είναι σε μορφή &unix;/&ms-dos;/&windows; για να λειτουργούν στο X11. Μόλις αντιγραφούν τα αρχεία στον κατάλογο, χρησιμοποιήστε το ttmkfdir για να δημιουργήσετε το αρχείο fonts.dir, ώστε ο X font renderer να γνωρίζει την ύπαρξη των νέων αυτών αρχείων. - Το ttmkfdir διατίθεται από την συλλογή ports του - &os; ως x11-fonts/ttmkfdir. + Το ttmkfdir διατίθεται από την Συλλογή των Ports + του &os; ως x11-fonts/ttmkfdir. &prompt.root; cd /usr/local/lib/X11/fonts/TrueType &prompt.root; ttmkfdir -o fonts.dir Τώρα, πρoσθέστε τον κατάλογο &truetype; στη διαδρομή των fonts. Αυτό γίνεται με τον ίδιο τρόπο που περιγράψαμε παραπάνω στις Type1 γραμματοσειρές, χρησιμοποιώντας το &prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType &prompt.user; xset fp rehash ή απλά προσθέστε μια γραμμή FontPath στο αρχείο xorg.conf. Αυτό ήταν. Τώρα ο &netscape;, το Gimp, το &staroffice;, και όλες οι άλλες εφαρμογές X πρέπει να αναγνωρίζουν τις εγκαταστημένες &truetype; γραμματοσειρές. Πολύ μικρές γραμματοσειρές (όπως αυτές που φαίνονται στο κείμενο μιας ιστοσελίδας σε υψηλή ανάλυση) και πολύ μεγάλες γραμματοσειρές (στο &staroffice;) θα φαίνονται τώρα πολύ καλύτερα. Joe Marcus Clarke Ανανεώθηκε από τον Anti-Aliased Γραμματοσειρές anti-aliased γραμματοσειρές γραμματοσειρές anti-aliased Όλες οι γραμματοσειρές X11 που βρίσκονται στο /usr/local/lib/X11/fonts/ και το ~/.fonts/ είναι αυτόματα διαθέσιμες για anti-aliasing σε εφαρμογές Xft-aware, συμπεριλαμβανομένων του KDE, GNOME και Firefox. Για να ελέγξετε ποίες γραμματοσειρές είναι anti-aliased, ή να ρυθμίσετε τις ιδιότητες του anti-aliasing, δημιουργήστε (ή τροποποιήστε, αν ήδη υπάρχει) το αρχείο /usr/local/etc/fonts/local.conf. Μέσω αυτού του αρχείου μπορούν να ρυθμιστούν αρκετά εξειδικευμένα χαρακτηριστικά του συστήματος γραμματοσειρών Xft. Αυτό το τμήμα περιγράφει μόνο μερικές απλές δυνατότητες. Για περισσότερες λεπτομέρειες, δείτε το &man.fonts-conf.5;. XML Το αρχείο αυτό πρέπει να είναι μορφής XML. Δώστε μεγάλη προσοχή στα πεζά / κεφαλαία, και σιγουρευθείτε ότι όλα τα tags έχουν κλείσει σωστά. Το αρχείο ξεκινά με την συνηθισμένη επικεφαλίδα XML και ένα ορισμό DOCTYPE, και έπειτα ακολουθεί το <fontconfig> tag: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> Όπως είπαμε προηγουμένως, όλες οι γραμματοσειρές στο /usr/local/lib/X11/fonts/ όπως και στο ~/.fonts/ διατίθενται ήδη σε Xft-aware εφαρμογές. Αν θέλετε να προσθέσετε και άλλους καταλόγους εκτός από αυτούς τους δύο, προσθέστε μια γραμμή παρόμοια με αυτή που ακολουθεί στο /usr/local/etc/fonts/local.conf: <dir>/path/to/my/fonts</dir> Αφού προσθέσετε νέες γραμματοσειρές, και ειδικότερα νέους καταλόγους γραμματοσειρών, πρέπει να εκτελέσετε την ακόλουθη εντολή για να αναδημιουργήσετε την cache γραμματοσειρών: &prompt.root; fc-cache -f Το anti-aliasing κάνει τα άκρα ελαφρώς συγκεχυμένα, κάνοντας έτσι τα πολύ μικρά γράμματα πιο αναγνώσιμα, και αφαιρεί τις κλίμακες (σκαλοπάτια) από τα μεγάλα γράμματα, αλλά μπορεί να προκαλέσει ενοχλήσεις στα μάτια αν χρησιμοποιηθεί σε κανονικά μεγέθη. Για να εξαιρέσετε από το anti-aliasing μεγέθη γραμματοσειρών μικρότερα από 14 point, προσθέστε αυτές τις γραμμές: <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match> γραμματοσειρές spacing Το spacing (διαστήματα) σε μερικές monospaced γραμματοσειρές μπορεί επίσης να είναι ακατάλληλο όταν χρησιμοποιείται anti-aliasing. Αυτό φαίνεται να αποτελεί ιδιαίτερο πρόβλημα με το KDE. Μια διόρθωση για αυτό, είναι να επιβάλλετε στο spacing την τιμή 100 για αυτές τις γραμματοσειρές. Προσθέστε τις ακόλουθες γραμμές: <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> (αυτό μετονομάζει τα άλλα κοινά ονόματα των fixed γραμματοσειρών ως "mono"), και έπειτα προσθέστε: <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Συγκεκριμένες γραμματοσειρές, όπως οι Helvetica, μπορεί να εμφανίζουν πρόβλημα όταν είναι anti-aliased. Το πρόβλημα συχνά εκδηλώνεται ως μία γραμματοσειρά κομμένη κάθετα στην μέση. Στην χειρότερη περίπτωση, μπορεί να κάνει κάποιες εφαρμογές να καταρρεύσουν. Για να το αποφύγετε αυτό, μπορείτε να προσθέσετε το ακόλουθο στο local.conf: <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> Μόλις τελειώσετε την μετατροπή του local.conf σιγουρευθείτε ότι κλείσατε το αρχείο με το </fontconfig> tag. Αν δεν το κάνετε, οι αλλαγές σας θα αγνοηθούν. Τέλος, οι χρήστες μπορούν να προσθέσουν τις δικές τους ρυθμίσεις μέσω των προσωπικών τους αρχείων .fonts.conf. Για να γίνει αυτό, κάθε χρήστης πρέπει απλώς να δημιουργήσει ένα ~/.fonts.conf. Αυτό το αρχείο πρέπει να είναι επίσης XML μορφής. LCD οθόνη γραμματοσειρές LCD screen Κάτι τελευταίο: σε μία LCD οθόνη, μπορεί να είναι επιθυμητός ο δειγματισμός sub-pixel. Ο δειγματισμός χειρίζεται χωριστά τα (οριζόντια διαχωρισμένα) κόκκινα, πράσινα και μπλε στοιχεία ώστε να βελτιώσει την οριζόντια ανάλυση. Τα αποτελέσματα μπορεί να είναι δραματικά καλύτερα. Για να τον ενεργοποιήσετε, προσθέστε την παρακάτω γραμμή κάπου στο αρχείο local.conf: <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> Ανάλογα με τον τύπο της οθόνης, το rgb μπορεί να χρειαστεί να αλλάξει σε bgr, vrgb ή vbgr: πειραματιστείτε και δείτε ποίο λειτουργεί καλύτερα. Seth Kingsley Συνεισφορά του Ο X Display Manager Εισαγωγή X Display Manager Ο X Display Manager (XDM) είναι ένα προαιρετικό μέρος του συστήματος X Windows που χρησιμοποιείται για διαχείριση συνδέσεων (logins). Αυτό είναι χρήσιμο σε πολλές περιπτώσεις, όπως σε απλά X Terminals, σε desktop μηχανήματα, καθώς και σε διακομιστές μεγάλων δικτύων. Αφού το σύστημα X Windows είναι ανεξάρτητο πρωτοκόλλων και δικτύων, υπάρχει μεγάλο εύρος πιθανών ρυθμίσεων για την λειτουργία X πελατών και διακομιστών σε διαφορετικά μηχανήματα συνδεδεμένα σε ένα δίκτυο. Ο XDM παρέχει ένα γραφικό περιβάλλον για την επιλογή του διακομιστή με τον οποίο θα γίνει η σύνδεση, και για την είσοδο πληροφοριών πιστοποίησης όπως του ονόματος χρήστη και του κωδικού πρόσβασης. Σκεφθείτε τον XDM ως μια εφαρμογή που παρέχει τις ίδιες δυνατότητες στον χρήστη με το εργαλείο &man.getty.8; (δείτε το για λεπτομέρειες). Το XDM εκτελεί συνδέσεις (logins) στον διακομιστή και έπειτα εκτελεί ένα διαχειριστή συνεδρίας (session manager, συνήθως έναν X διαχειριστή παραθύρων, window manager) για λογαριασμό του χρήστη. Ο XDM έπειτα περιμένει να τερματίσει αυτό το πρόγραμμα, που σηματοδοτεί ότι ο χρήστης τελείωσε και πρέπει να αποσυνδεθεί. Σε αυτό το σημείο, ο XDM μπορεί να εμφανίσει ξανά την οθόνη εισόδου (login) και την οθόνη επιλογής γραφικής σύνδεσης ώστε να συνδεθεί ένας άλλος χρήστης. Χρήση του XDM Για να ξεκινήσετε να χρησιμοποιείτε το XDM, εγκαταστήστε το port x11/xdm (δεν εγκαθίσταται από προεπιλογή στις πρόσφατες εκδόσεις του &xorg;). Μπορείτε έπειτα να βρείτε τον δαίμονα XDM στο /usr/local/bin/xdm. Αυτό το πρόγραμμα μπορεί να εκτελεστεί οποιαδήποτε στιγμή ως root και θα ξεκινήσει να διαχειρίζεται την οθόνη του X στο τοπικό μηχάνημα. Αν ο XDM πρέπει να εκτελείται κάθε φορά που εκκινείται το μηχάνημα, ένας βολικός τρόπος είναι η προσθήκη μιας γραμμής στο /etc/ttys. Για περισσότερες πληροφορίες σχετικά με την μορφή και την χρήση αυτού του αρχείου, δείτε το . Υπάρχει μία γραμμή στο αρχικό /etc/ttys αρχείο για την εκτέλεση του XDM σε ένα εικονικό τερματικό: ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure Αρχικά αυτή η λειτουργία είναι απενεργοποιημένη — για να την ενεργοποιήσετε αλλάξτε το πεδίο 5 από off σε on και επαννεκίνηστε το &man.init.8; χρησιμοποιώντας τις οδηγίες του . Το πρώτο πεδίο, το όνομα του τερματικού που θα διαχειρίζεται το πρόγραμμα, είναι το ttyv8. Αυτό σημαίνει ότι ο XDM θα εκτελείται στο 9ο εικονικό τερματικό. Ρύθμιση του XDM Ο κατάλογος ρυθμίσεων του XDM βρίσκεται στο /usr/local/lib/X11/xdm. Σε αυτόν τον κατάλογο υπάρχουν πολλά αρχεία που χρησιμοποιούνται για να αλλάξουν την συμπεριφορά και εμφάνιση του XDM. Τυπικά, θα βρείτε τα παρακάτω αρχεία: Αρχείο Περιγραφή Xaccess Κανόνες πιστοποίησης πελατών. Xresources Προκαθορισμένες τιμές X resource. Xservers Λίστα απομακρυσμένων και τοπικών οθονών (Χ displays) στις οποίες θα γίνεται διαχείριση. Xsession Προεπιλεγμένο script συνόδων για logins. Xsetup_* Script για την εκτέλεση εντολών πριν την εμφάνιση του περιβάλλοντος σύνδεσης (login screen). xdm-config Ρυθμίσεις για όλες τις απεικονίσεις (displays) που εκτελούνται σε αυτό το μηχάνημα. xdm-errors Λάθη που δημιουργούνται από το πρόγραμμα. xdm-pid Το ID της διεργασίας του τρέχοντος XDM. Επίσης σε αυτόν τον κατάλογο υπάρχουν μερικά scripts και προγράμματα που χρησιμοποιούνται για να ρυθμίσουν την επιφάνεια εργασίας όταν εκτελείται το XDM. Θα περιγράψουμε περιληπτικά το σκοπό καθενός από αυτά τα αρχεία. Η ακριβής σύνταξη και χρήση όλων αυτών των αρχείων περιγράφεται στο &man.xdm.1;. Η προκαθορισμένη ρύθμιση είναι ένα απλό ορθογώνιο παράθυρο σύνδεσης με το όνομα του μηχανήματος να φαίνεται στην κορυφή με μεγάλα γράμματα και τις προτροπές Login: και Password: από κάτω. Αυτό είναι ένα καλό σημείο εκκίνησης για να αλλάξετε την εμφάνιση του XDM. Xaccess Το πρωτόκολλο για σύνδεση με απεικονίσεις που ελέγχονται από το XDM ονομάζεται X Display Manager Connection Protocol (XDMCP). Το αρχείο αυτό είναι ένα σύνολο κανόνων για των έλεγχο των συνδέσεων XDMCP από απομακρυσμένα μηχανήματα. Αγνοείται, εκτός και αν το xdm-config έχει ρυθμιστεί ώστε να δέχεται εισερχόμενες συνδέσεις. Η προεπιλογή είναι να μην επιτρέπεται σε κανένα πελάτη να συνδεθεί. Xresources Πρόκειται για το αρχείο προκαθορισμένων τιμών για τις εφαρμογές εμφάνισης του παράθυρου σύνδεσης (login) και επιλογέα απεικόνισης (display chooser). Μέσα από αυτό μπορεί να τροποποιηθεί η εμφάνιση του προγράμματος login. Η μορφή του είναι ίδια με το αρχείο app-defaults που περιγράφεται στην τεκμηρίωση του X11. Xservers Αυτή είναι μια λίστα των απομακρυσμένων σταθμών που πρέπει να εμφανίζονται ως επιλογές στο πρόγραμμα (chooser). Xsession Αυτό είναι το προκαθορισμένο session script που εκτελεί το XDM μετά τη σύνδεση κάποιου χρήστη. Κανονικά, κάθε χρήστης θα έχει ένα τροποποιημένο, δικό του, session script στο ~/.xsession που θα παρακάμπτει αυτό το script. Xsetup_* Τα αρχεία αυτά εκτελούνται αυτόματα πριν την εμφάνιση των παραθύρων επιλογής ή σύνδεσης. Υπάρχει ένα script για κάθε display που χρησιμοποιείται, που ονομάζεται Xsetup_ με το νούμερο του display στο τέλος (για παράδειγμα Xsetup_0). Κανονικά αυτά τα scripts θα εκτελούν ένα ή δυο προγράμματα στο παρασκήνιο όπως π.χ. το xconsole. xdm-config Το αρχείο αυτό περιέχει ρυθμίσεις στην μορφή των app-defaults, που εφαρμόζονται σε κάθε display που διαχειρίζεται η συγκεκριμένη εγκατάσταση. xdm-errors Το αρχείο αυτό περιέχει την έξοδο των διακομιστών X που προσπαθεί να εκτελέσει το XDM. Αν ένα display που προσπαθεί να εκκινήσει o XDM κολλήσει για κάποιο λόγο, καλό είναι να αναζητήσετε εδώ τυχόν μηνύματα σφαλμάτων. Τα μηνύματα αυτά καταγράφονται και στα αρχεία χρηστών ~/.xsession-errors. Διατηρώντας έναν Διακομιστή Απομακρυσμένων Συνδέσεων Για να συνδέονται και άλλοι πελάτες στον διακομιστή οθόνης, τροποποιήστε τους κανόνες ελέγχου πρόσβασης, και ενεργοποιήστε τις εισερχόμενες συνδέσεις. Τα παραπάνω είναι, από προεπιλογή ρυθμισμένα σε συντηρητικές τιμές. Για να κάνετε το XDM να δέχεται συνδέσεις, αρχικά μετατρέψτε σε σχόλιο την παρακάτω γραμμή στο αρχείο xdm-config: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 και μετά επανεκκινήστε τον XDM. Να έχετε υπόψιν σας ότι τα σχόλια στα αρχεία app-defaults ξεκινούν με τον χαρακτήρα !, και όχι τον συνήθη #. Μπορεί να επιθυμείτε πιο αυστηρούς κανόνες ελέγχου πρόσβασης. Δείτε τα παραδείγματα στο Xaccess, και συμβουλευθείτε τη σελίδα manual του &man.xdm.1;. Αντικαταστάτες του XDM Υπάρχουν αρκετοί αντικαταστάτες για το πρόγραμμα XDM. Ένας από αυτούς, ο kdm (έρχεται με το KDE) αναλύεται αργότερα σε αυτό το κεφάλαιο. Ο kdm display manager προσφέρει πολλά προτερήματα στα γραφικά και διακοσμητικά στοιχεία, όπως επίσης και την δυνατότητα να επιλέγουν οι χρήστες τον επιθυμητό διαχειριστή παραθύρων την στιγμή της σύνδεσης. Valentino Vaschetto Συνεισφορά του Γραφικά Περιβάλλοντα Αυτό το τμήμα περιγράφει μερικά γραφικά περιβάλλοντα που διατίθενται για το X στο &os;. Η έννοια γραφικό περιβάλλον μπορεί να σημαίνει οτιδήποτε, από έναν απλό διαχειριστή παραθύρων μέχρι ένα ολοκληρωμένα πακέτο desktop εφαρμογών, όπως το KDE ή το GNOME. GNOME Σχετικά με το GNOME GNOME Το GNOME είναι ένα φιλικό προς τον χρήστη γραφικό περιβάλλον που επιτρέπει στους χρήστες να χρησιμοποιούν και να ρυθμίζουν εύκολα τους υπολογιστές τους. Το GNOME διαθέτει ένα panel (για την εκκίνηση εφαρμογών και την προβολή κατάστασης), επιφάνεια εργασίας (όπου εμφανίζονται δεδομένα και εφαρμογές), ένα πλήθος από διαδεδομένα εργαλεία και εφαρμογές, καθώς και ένα σύνολο τυποποιήσεων που επιτρέπει στις εφαρμογές να συνεργάζονται μεταξύ τους και να δείχνουν ένα συνεπές περιβάλλον εργασίας. Οι χρήστες άλλων λειτουργικών συστημάτων ή περιβάλλoντων θα αισθάνονται σαν στο σπίτι τους χρησιμοποιώντας το πανίσχυρο γραφικό περιβάλλον που παρέχει το GNOME. Περισσότερες πληροφορίες σχετικά με το GNOME στο &os; μπορούν να βρεθούν στο διαδικτυακό τόπο του &os; GNOME Project. Η τοποθεσία περιέχει επίσης και αναλυτικά FAQs σχετικά με την εγκατάσταση, την ρύθμιση, και την διαχείριση του GNOME. Εγκατάσταση του GNOME Το GNOME μπορεί να εγκατασταθεί - εύκολα από πακέτα ή από την συλλογή των ports: + εύκολα από πακέτα ή από την Συλλογή των Ports: Για να εγκαταστήσετε το έτοιμο πακέτο του GNOME από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r gnome2 Για να μεταγλωττίσετε το GNOME από - τον πηγαίο κώδικα, χρησιμοποιήστε την συλλογή των ports: + τον πηγαίο κώδικα, χρησιμοποιήστε την Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean Μόλις εγκατασταθεί το GNOME, θα πρέπει να ρυθμιστεί ο διακομιστής X ώστε να εκκινεί το GNOME αντί για τον προκαθορισμένο διαχειριστή παραθύρων. Ο ευκολότερος τρόπος για να εκκινήσετε το GNOME είναι με το GDM, τον GNOME Display Manager. Το GDM, που εγκαθίσταται ως μέρος του GNOME (αλλά είναι ανενεργό αρχικά), μπορεί να ενεργοποιηθεί με την προσθήκη του gdm_enable="YES" στο /etc/rc.conf. Μόλις κάνετε επανεκκίνηση, το GDM θα ξεκινήσει αυτόματα. Επιπρόσθετα, για να ενεργοποιήσετε όλες τις υπηρεσίες του GNOME ταυτόχρονα με την εκκίνηση του GDM, προσθέστε τη γραμμή gnome_enable="YES" στο αρχείο /etc/rc.conf. Το GNOME μπορεί επίσης να ξεκινήσει από την γραμμή εντολών ρυθμίζοντας κατάλληλα το αρχείο .xinitrc. Αν υπάρχει ήδη το αρχείο .xinitrc, απλώς αντικαταστήστε την γραμμή που εκκινεί τον τρέχοντα διαχειριστή παραθύρων με μία που να εκκινεί το /usr/local/bin/gnome-session. Αν δεν θέλετε να κάνετε περισσότερες ρυθμίσεις στο αρχείο, χρειάζεται απλά να γράψετε: &prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrc Έπειτα, πληκτρολογήστε startx, και θα ξεκινήσει το γραφικό περιβάλλον του GNOME Αν χρησιμοποιείτε κάποιο παλαιότερο display manager, όπως το XDM, το παραπάνω δεν θα λειτουργήσει. Στην περίπτωση αυτή, δημιουργήστε ένα εκτελέσιμο αρχείο .xsession το οποίο να περιέχει την ίδια εντολή. Τροποποιήστε το αρχείο .xsession και αντικαταστήστε την εντολή του τρέχοντος διαχειριστή παραθύρων με το /usr/local/bin/gnome-session: &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession Άλλη μια επιλογή είναι να ρυθμιστεί ο display manager ώστε να επιτρέπει την επιλογή του διαχειριστή παραθύρων κατά την σύνδεση. Το τμήμα Λεπτομέρειες KDE εξηγεί πως μπορεί να γίνει αυτό μέσω του kdm, του display manager του KDE. KDE KDE Σχετικά με το KDE Το KDE είναι ένα σύγχρονο, εύκολο στη χρήση, γραφικό περιβάλλον. Μερικά πράγματα που προσφέρει το KDE στον χρήστη είναι: Ένα όμορφο σύγχρονο περιβάλλον Ένα περιβάλλον με πλήρη δικτυακή διαφάνεια Ένα ενσωματωμένο σύστημα βοήθειας που επιτρέπει εύκολη, συνεπή πρόσβαση στην βοήθεια για την χρήση του KDE και των εφαρμογών του Συνεπής εμφάνιση και συμπεριφορά όλων των εφαρμογών του KDE Τυποποιημένα menu και γραμμές εργαλείων (toolbars), συνδυασμοί πλήκτρων, χρωματικοί συνδυασμοί, κλπ. Διεθνείς ρυθμίσεις: το KDE διατίθεται σε περισσότερες από 40 γλώσσες Κεντρικό και συνεπές σύστημα ρυθμίσεων βασισμένο σε διαλόγους Μεγάλο αριθμό χρήσιμων εφαρμογών, σχεδιασμένων ειδικά για το KDE Το KDE συνοδεύεται από έναν περιηγητή (browser) που ονομάζεται Konqueror, και ανταγωνίζεται σοβαρά τους άλλους περιηγητές των συστημάτων &unix;. Περισσότερες πληροφορίες για το KDE μπορείτε να βρείτε στο KDE website. Για πληροφορίες σχετικές με το &os; και το KDE, συμβουλευθείτε τον διαδικτυακό τόπο του FreeBSD-KDE team. Υπάρχουν διαθέσιμες δύο εκδόσεις του KDE για το &os;. Η Έκδοση 3, κυκλοφορεί αρκετό καιρό και θεωρείται γενικά ώριμη. Στη Συλλογή των Ports θα βρείτε επίσης την Έκδοση 4 από τη νεότερη γενιά. Οι δύο αυτές εκδόσεις μπορούν μάλιστα να συνυπάρχουν στον ίδιο υπολογιστή. Εγκατάσταση του KDE Όπως και με το GNOME ή κάθε άλλο γραφικό περιβάλλον, το λογισμικό μπορεί να εγκατασταθεί εύκολα - μέσω πακέτων ή από την συλλογή των Ports: + μέσω πακέτων ή από την Συλλογή των Ports: Για να εγκαταστήσετε το KDE3 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r kde Για να εγκαταστήσετε το KDE4 μέσω πακέτων από το δίκτυο, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r kde4 Το &man.pkg.add.1; θα ανακτήσει αυτόματα την τελευταία έκδοση της εφαρμογής. Για να μεταγλωττίσετε το KDE3 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/kde3 &prompt.root; make install clean Για να μεταγλωττίσετε το KDE4 από τον πηγαίο κώδικα, χρησιμοποιήστε τη Συλλογή των Ports: &prompt.root; cd /usr/ports/x11/kde4 &prompt.root; make install clean Αφού εγκατασταθεί το KDE, θα πρέπει να ρυθμιστεί ο διακομιστής X ώστε να το εκκινεί αντί για τον προκαθορισμένο διαχειριστή παραθύρων. Αυτό γίνεται με την αλλαγή του αρχείου .xinitrc: Για το KDE3: &prompt.user; echo "exec startkde" > ~/.xinitrc Για το KDE4: &prompt.user; echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc Τώρα, όποτε το X Window System εκκινείται μέσω του startx, το γραφικό περιβάλλον θα είναι το KDE. Αν χρησιμοποιείτε κάποιο display manager όπως το XDM, η ρύθμιση είναι λίγο διαφορετική. Θα πρέπει αντί για το .xinitrc να τροποποιήσετε το .xsession. Οδηγίες για το kdm δίνονται αργότερα στο κεφάλαιο αυτό. Περισσότερες Λεπτομέρειες για το KDE Τώρα που το KDE έχει εγκατασταθεί στο σύστημα, μπορείτε να ανακαλύψετε τις περισσότερες λειτουργίες μέσω των σελίδων βοήθειας ή δοκιμάζοντας μενού και επιλογές. Οι χρήστες των &windows; η του &mac; θα αισθάνονται σαν στο σπίτι τους. Η καλύτερη βοήθεια για το KDE είναι η on-line τεκμηρίωση. Το KDE συνοδεύεται από τον δικό του περιηγητή, τον Konqueror, πολλές χρήσιμες εφαρμογές, και αναλυτική τεκμηρίωση. Το υπόλοιπο αυτής της ενότητας συζητά τεχνικά θέματα που είναι δύσκολο να ανακαλυφθούν με δοκιμές. Ο KDE Display Manager KDE display manager Ο διαχειριστής ενός πολυχρηστικού συστήματος θέλει ενδεχομένως η σύνδεση των χρηστών να γίνεται μέσω γραφικού περιβάλλοντος. Όπως περιγράψαμε πρίν, μπορεί να χρησιμοποιηθεί το XDM. Όμως, το KDE περιέχει μια εναλλακτική επιλογή, το kdm, το οποίο έχει σχεδιαστεί να είναι ποίο ελκυστικό και παρέχει περισσότερες επιλογές κατά τη σύνδεση. Συγκεκριμένα, οι χρήστες μπορούν εύκολα να επιλέξουν (μέσω μενού) ποίο γραφικό περιβάλλον (KDE, GNOME, ή κάποιο άλλο) θα εκτελεστεί μετά την σύνδεση τους. Για να ενεργοποιήσετε το kdm, θα πρέπει να αλλάξετε το ttyv8 στο /etc/ttys. Η γραμμή θα μοιάζει με την παρακάτω: Για το KDE3: ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure Για το KDE4: ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure Xfce Σχετικά με το Xfce Το Xfce είναι ένα γραφικό περιβάλλον που στηρίζεται στην βιβλιοθήκη GTK+ που χρησιμοποιείται και από το GNOME, αλλά είναι πολύ πιο ελαφρύ και προορίζεται για όσους θέλουν ένα απλό, αποτελεσματικό γραφικό περιβάλλον που είναι εύκολο να χρησιμοποιηθεί και να ρυθμιστεί. Οπτικά, μοιάζει πολύ με το CDE, που συναντάται σε εμπορικά συστήματα &unix;. Μερικά από τα χαρακτηριστικά του Xfce είναι: Ένα απλό, εύκολο στην χρήση γραφικό περιβάλλον Πλήρως παραμετροποιήσιμο με το ποντίκι, με drag and drop, κλπ. Κεντρικό panel παρόμοιο με του CDE, με μενού, μικρο-εφαρμογές και πλήκτρα εκκίνησης εφαρμογών Ολοκληρωμένος διαχειριστής παραθύρων, διαχειριστής αρχείων, διαχειριστής ήχου, συμβατότητα με το GNOME, και άλλα Δυνατότητα χρήσης θεμάτων (themes, αφού χρησιμοποιεί το GTK+) Γρήγορο, ελαφρύ και αποτελεσματικό: ιδανικό για παλαιότερα/πιο αργά μηχανήματα ή μηχανήματα με λίγη μνήμη Περισσότερες πληροφορίες για το Xfce μπορείτε να βρείτε στη δικτυακή τοποθεσία του Xfce. Εγκατάσταση του Xfce Υπάρχει (την ώρα που γράφονται αυτές οι γραμμές) έτοιμο πακέτο για το Xfce. Για να το εγκαταστήσετε, απλώς πληκτρολογήστε: &prompt.root; pkg_add -r xfce4 Εναλλακτικά, για να το μεταγλωττίσετε από τον πηγαίο κώδικα, - χρησιμοποιήστε την συλλογή των ports: + χρησιμοποιήστε την Συλλογή των Ports: &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean Τώρα, πείτε στον διακομιστή X να εκκινήσει το Xfce την επόμενη φορά που θα γίνει εκκίνηση του γραφικού περιβάλλοντος. Απλώς πληκτρολογήστε το παρακάτω: &prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrc Την επόμενη φορά που θα εκκινήσετε το Χ, θα εμφανιστεί το Xfce. Όπως και προηγουμένως, αν χρησιμοποιείτε κάποιο display manager όπως το XDM, δημιουργήστε ένα αρχείο .xsession, όπως περιγράφεται στην παράγραφο του GNOME, αλλά με την εντολή /usr/local/bin/startxfce4, ή ρυθμίστε τον display manager να επιτρέπει την επιλογή γραφικού περιβάλλοντος, όπως περιγράφεται στην παράγραφο σχετικά με το kdm.