diff --git a/el_GR.ISO8859-7/articles/nanobsd/Makefile b/el_GR.ISO8859-7/articles/nanobsd/Makefile new file mode 100644 index 0000000000..50fa0405ef --- /dev/null +++ b/el_GR.ISO8859-7/articles/nanobsd/Makefile @@ -0,0 +1,26 @@ +# +# $FreeBSD$ +# +# Article: Introduction to NanoBSD + +DOC?= article + +FORMATS?= html + +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +# Images from the cross-document image library +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png + +SRCS= article.sgml + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/el_GR.ISO8859-7/articles/nanobsd/article.sgml b/el_GR.ISO8859-7/articles/nanobsd/article.sgml new file mode 100644 index 0000000000..4e19bd6517 --- /dev/null +++ b/el_GR.ISO8859-7/articles/nanobsd/article.sgml @@ -0,0 +1,586 @@ + + + +%articles.ent; +]> + +
+ + Εισαγωγή στο NanoBSD + + + + Daniel + Gerzo + + + + Κυριάκος + Κεντρωτής + + + + $FreeBSD$ + + + 2006, 2009 + Η Ομάδα Τεκμηρίωσης του &os; + + + + &tm-attrib.freebsd; + &tm-attrib.general; + + + + Το έγγραφο αυτό παρέχει πληροφορίες για τα εργαλεία + του NanoBSD, τα οποία μπορούν να + χρησιμοποιηθούν προκειμένου να δημιουργηθούν είδωλα του συστήματος + &os; για embedded εφαρμογές, κατάλληλες για χρήση από κάρτα Compact + Flash (ή άλλο μέσο αποθήκευσης). + + + + + Εισαγωγή στο NanoBSD + + NanoBSD + + Το NanoBSD είναι ένα εργαλείο το οποίο + αναπτύσσεται ενεργά από τον &a.phk;. Δημιουργεί ένα εικονικό είδωλο του + συστήματος &os; για embedded εφαρμογές, ιδανικό για κάρτες Compact Flash + (ή άλλο μέσο αποθήκευσης). + + Μπορεί να χρησιμοποιηθεί για να φτιαχτούν εξειδικευμένες εικόνες, + σχεδιασμένες για εύκολη εγκατάσταση και συντήρηση συστημάτων + τύπου computer appliance. Τα συστήματα τέτοιου είδους + έχουν το υλικό και λογισμικό τους ενοποιημένα μέσα στο προϊόν. Αυτό + σημαίνει πως συχνά είναι προεγκατεστημένα όλα τα απαραίτητα προγράμματα. + Η συσκευή συνδέεται σε ένα υπάρχον δίκτυο και μπορεί να λειτουργήσει + (σχεδόν) αμέσως. + + Τα βασικά χαρακτηριστικά του NanoBSD + είναι: + + + + Τα ports και τα πακέτα λειτουργούν όπως στο &os; — + οποιοδήποτε πρόγραμμα μπορεί να εγκατασταθεί και να χρησιμοποιηθεί + στο &os; μπορεί να ενσωματωθεί και σε ένα + είδωλο NanoBSD και να λειτουργήσει με τον + ίδιο τρόπο. + + + + Δε υστερεί σε λειτουργικότητα — Αν είναι εφικτό να + γίνει κάτι με το &os;, τότε είναι εφικτό να γίνει το ίδιο πράμα και + με το NanoBSD, εκτός αν το συγκεκριμένο + χαρακτηριστικό έχει σκόπιμα αφαιρεθεί από το είδωλο + του NanoBSD. + + + + Το NanoBSD τρέχει με το σύστημα σε + κατάσταση προστασίας από εγγραφή. Μπορείτε ακόμα και να το + αποσυνδέσετε από το ρεύμα την ώρα που λειτουργεί. Δεν είναι + αναγκαίο να εκτελεστεί το &man.fsck.8; μετά από μια άγαρμπη διακοπή + λειτουργίας του συστήματος. + + + + Είναι εύκολο να δημιουργηθεί και να προσαρμοστεί ένα + είδωλο NanoBSD. Με τη χρήση ενός μόνο + σεναρίου φλοιού και ενός αρχείου διαμόρφωσης είναι εφικτή η δόμηση + προσαρμοσμένων ειδώλων που ικανοποιούν οποιαδήποτε ανάγκη. + + + + + + Ρύθμιση του NanoBSD + + + Η Σχεδίαση του NanoBSD + + Αφού γραφτεί ένα είδωλο του NanoBSD σε + κάποιο αποθηκευτικό μέσο, μπορεί να χρησιμοποιηθεί για να ξεκινήσει + ένα σύστημα &os;. Η προκαθορισμένη διαμόρφωση του μέσου εκκίνησης + αποτελείται από τρία μέρη: + + + + Δύο διαμερίσματα εκκίνησης: code#1 + και code#2. + + + + Το διαμέρισμα ρυθμίσεων, Αυτό μπορεί να προσαρτηθεί στον + κατάλογο /cfg την ώρα + λειτουργίας του NanoBSD. + + + + Αυτά τα τρία διαμερίσματα κανονικά είναι προσαρτημένα μόνο για + ανάγνωση. + + Οι κατάλογοι /etc + και /var είναι εικονικοί δίσκοι + &man.md.4; (malloc). + + Το διαμέρισμα ρυθμίσεων μπορεί να προσαρτηθεί στον + κατάλογο /cfg. Περιέχει αρχεία + τα οποία αντιγράφονται στον + κατάλογο /etc. Κατά την + εκκίνηση του συστήματος το διαμέρισμα ρυθμίσεων προσαρτάται προσωρινά + μόνο για ανάγνωση και αντιγράφονται τα αρχεία του στον + κατάλογο /etc. Οπότε για να + είναι κάποια αλλαγή ρυθμίσεων πιο μόνιμη και να ισχύει + ακόμα και μετά από επανεκκίνηση του συστήματος, πρέπει να αντιγράφεται + από τον κατάλογο /etc στο + διαμέρισμα ρυθμίσεων, αφού αυτό προσαρτηθεί για γράψιμο στον + κατάλογο /cfg. + + + Κάνοντας μόνιμες αλλαγές στο <filename>/etc/resolv.conf</filename> + + &prompt.root; vi /etc/resolv.conf +[...] +&prompt.root; mount /cfg +&prompt.root; cp /etc/resolv.conf /cfg +&prompt.root; umount /cfg + + + + Το διαμέρισμα το οποίο περιέχει τον + κατάλογο /cfg πρέπει να + προσαρτάται μόνο κατά την εκκίνηση και όταν έχουν προτεραιότητα τα + αρχεία ρυθμίσεων + του /cfg. + + Δεν είναι καλή ιδέα να μένει μόνιμα προσαρτημένο το + διαμέρισμα /cfg. Αν ένα + διαμέρισμα είναι προσαρτημένο για γράψιμο και το αποθηκευτικό μέσο + του NanoBSD επιτρέπει περιορισμένο αριθμό + κύκλων εγγραφής (όπως π.χ. μερικές κάρτες CF), μπορεί να επηρεαστεί + αρνητικά το αποθηκευτιμό μέσο επειδή ο πυρήνας γράφει κάθε λίγο + στους δίσκους του συστήματος (syncer). + + + + + Δημιουργία Ενός Προσαρμοσμένου Συστήματος NanoBSD + + Το είδωλο του NanoBSD δημιουργείται από + ένα απλό σενάριο κονσόλας, το nanobsd.sh, το + οποίο μπορεί να βρεθεί στον + κατάλογο /usr/src/tools/nanobsd. + Αυτό το σενάριο δημιουργεί ένα είδωλο δίσκου, το οποίο μπορεί να + αντιγραφεί απευθείας σε κάποιο αποθηκευτικό μεσο χρησιμοποιώντας το + πρόγραμμα &man.dd.1;. + + Οι απαραίτητες εντολές προκειμένου να δημιουργηθεί ένα είδωλο + του NanoBSD είναι οι εξής: + + &prompt.root; cd /usr/src/tools/tools/nanobsd +&prompt.root; sh nanobsd.sh +&prompt.root; cd /usr/obj/nanobsd.full +&prompt.root; dd if=_.disk.full of=/dev/da0 bs=64k + + + + Αλλαγή από τον τρέχοντα κατάλογο στον βασικό κατάλογο του + σεναρίου δημιουργίας + του NanoBSD. + + + + Εκκίνηση της δημιουργίας του ειδώλου. + + + + Αλλαγή από τον τρέχοντα κατάλογο στον κατάλογο που περιέχει το + είδωλο του NanoBSD. + + + + Αντιγραφή του NanoBSD σε ένα μέσο + αποθήκευσης. + + + + + + Προσαρμόζοντας το είδωλο του NanoBSD + + Αυτό είναι πιθανότατα το πιο σημαντικό και πιο ενδιαφέρον + χαρακτηριστικό του NanoBSD. Αυτό είναι και + το μέρος της διαδικασίας ανάπτυξης του + ειδώλου NanoBSD για το οποίο θα ξοδέψετε + ένα μεγάλο ποσοστό του χρόνου προετοιμασίας του ειδώλου. + + Η ακόλουθη εντολή θα κάνει το nanobsd.sh να + διαβάσει τις ρυθμίσεις του από το + αρχείο myconf.nano που βρίσκεται στο τρέχοντα + κατάλογο: + + &prompt.root; sh nanobsd.sh -c myconf.nano + + Η προσαρμογή και παραμετροποίηση + του NanoBSD γίνεται συνήθως με δύο + τρόπους: + + + + Επιλογές διαμόρφωσης + + + + Προσαρμοσμένες συναρτήσεις + + + + + Επιλογές διαμόρφωσης + + Οι ρυθμίσεις του NanoBSD μπορούν να + χρησιμοποιηθούν για να οριστούν προσαρμοσμένες επιλογές + μεταγλώττισης και εγκατάστασης του &os;. Αυτές οι επιλογές + επηρεάζουν τα στάδια buildworld + και installworld + του NanoBSD, καθώς και άλλες επιλογές της + δημιουργίας του τελικού ειδώλου. Με τις κατάλληλες ρυθμίσεις + το NanoBSD μπορεί να μικρύνει αρκετά σε + μέγεθος· μπορεί να χωρέσει ένα πολύ μικρό υποσύνολο του βασικού &os; + σε χώρο μικρότερο από 64MB. Μπορείτε επίσης να χρησιμοποιήσετε τις + επιλογές του NanoBSD για να δημιουργήσετε + ένα είδωλο που έχει μόνο τον πυρήνα και δυο-τρία αρχεία στο βασικό + σύστημα. + + Το αρχείο ρυθμίσεων του NanoBSD + περιέχει εντολές οι οποίες ορίζουν νέες τιμές για κάποια + προκαθορισμένη μεταβλητή ή επεκτείνουν τις υπάρχουσες ρυθμίσεις. Οι + πιο σημαντικές μεταβλητές είναι οι εξής: + + + + NANO_NAME — Το όνομα του + ειδώλου NanoBSD που θα δημιουργηθεί + (χρησιμοποιείται για να φτιάξει τα ονόματα των κατάλογων + εργασίας). + + + + NANO_SRC — Η διαδρομή του δέντρου + πηγαίου κώδικα το οποίο θα χρησιμοποιηθεί για να μετγλωττιστεί + το είδωλο. + + + + NANO_KERNEL — Το όνομα του αρχείου + ρυθμίσεων πυρήνα το οποίο θα χρησιμοποιηθεί για να χτιστεί ο + πυρήνας του ειδώλου. + + + + CONF_BUILD — Επιλογές που περνούν + στο στάδιο buildworld της μεταγλώττισης του + &os;. + + + + CONF_INSTALL — Επιλογές που περνούν + στο στάδιο installworld της προετοιμασίας του + ειδώλου. + + + + CONF_WORLD — Επιλογές που περνούν + και στα δύο στάδια της προετοιμασίας του ειδώλου, και + στο buildworld και + στο installworld. + + + + FlashDevice — Ορίζει τον τύπο + του μέσου αποθήκευσης που θα χρησιμοποιηθεί. Για περισσότερες + λεπτομέρειες δείτε το + αρχείο FlashDevise.sub. + + + + + + Προσαρμοσμένες Συναρτήσεις + + Στο αρχείο ρύθμισης του NanoBSD + μπορεί να ρυθμιστεί σχεδόν κάθε λεπτομέρεια της προετοιμασίας του + ειδώλου και του τελικού ειδώλου το οποίο θα δημιουργηθεί. + Χρησιμοποιώντας μικρές συναρτήσεις φλοιού, μπορούμε να ρυθμίσουμε τα + πάντα. Για παράδειγμα, μπορούμε να τρέξουμε δικές μας εντολές οι + οποίες παραμετροποιούν το τελικό είδωλο ως εξής: + + cust_foo () ( + echo "bar=topless" > \ + ${NANO_WORLDDIR}/etc/foo +) +customize_cmd cust_foo + + Ένα πιο χρήσιμο παράδειγμα συνάρτησης φλοιού, η οποία ρυθμίζει + κάποια παράμετρο του τελικού ειδώλου, είναι αυτό που ακολουθεί. Η + συνάρτηση cust_etc_size αλλάζει την προεπιλεγμένη + τιμή μεγέθους του + καταλόγου /etc από 5MB σε + 30MB: + + cust_etc_size () ( + cd ${NANO_WORLDDIR}/conf + echo 30000 > default/etc/md_size +) +customize_cmd cust_etc_size + + Το σενάριο φλοιού που δημιουργεί + το NanoBSD έχει μερικές έτοιμες + συναρτήσεις φλοιού οι οποίες εκτελούν τέτοιες επιπλέον + ρυθμίσεις: + + + + cust_comconsole — Απενεργοποιεί το + &man.getty.8; στις κονσόλες VGA (οι + συσκευές /dev/ttyv*) και ενεργοποιεί την + χρήση της σειριακής θύρας COM1 ως κονσόλα συστήματος. + + + + cust_allow_ssh_root — Επιτρέπει την + είσοδο του χρήστη root μέσω του + &man.sshd.8;. + + + + cust_install_files — Εγκαθιστά + αρχεία από τον + κατάλογο nanobsd/Files. + Σε αυτό τον κατάλογο βρίσκονται μερικά χρήσιμα σενάρια φλοιού + για τη διαχείριση + ενός συστήματος NanoBSD. + + + + + + Προσθέτοντας Πακέτα + + Σε ένα είδωλο NanoBSD μπορούν να + προστεθούν και έτοιμα πακέτα, που έχουν φτιαχτεί από πριν + χρησιμοποιώντας τη Συλλογή των Ports. Μια συνάρτηση φλοιού μπορεί + να εγκαταστήσει έξτρα πακέτα την ώρα που προετοιμάζεται το είδωλο. + Για παράδειγμα, η παρακάτω συνάρτηση θα εγκαταστήσει στο είδωλο όλα + τα πακέτα που βρίσκονται στον + κατάλογο /usr/src/tools/tools/nanobsd/packages: + + install_packages () ( +mkdir -p ${NANO_WORLDDIR}/packages +cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages +chroot ${NANO_WORLDDIR} sh -c 'cd packages; pkg_add -v *;cd ..;' +rm -rf ${NANO_WORLDDIR}/packages +) + +customize_cmd install_packages + + + + Παράδειγμα Αρχείου Ρυθμίσεων του NanoBSD + + Ένα πλήρες παράδειγμα αρχείου ρυθμίσεων για + το NanoBSD, με διάφορες ρυθμίσεις για τη + μεταγλώττιση του &os; και την προετοιμασία του τελικού ειδώλου, + μπορεί να μοιάζει κάπως έτσι: + + NANO_NAME=custom +NANO_SRC=/usr/src +NANO_KERNEL=MYKERNEL +NANO_IMAGES=2 + +CONF_BUILD=' +NO_KLDLOAD=YES +NO_NETGRAPH=YES +NO_PAM=YES +' + +CONF_INSTALL=' +NO_ACPI=YES +NO_BLUETOOTH=YES +NO_CVS=YES +NO_FORTRAN=YES +NO_HTML=YES +NO_LPR=YES +NO_MAN=YES +NO_SENDMAIL=YES +NO_SHAREDOCS=YES +NO_EXAMPLES=YES +NO_INSTALLLIB=YES +NO_CALENDAR=YES +NO_MISC=YES +NO_SHARE=YES +' + +CONF_WORLD=' +NO_BIND=YES +NO_MODULES=YES +NO_KERBEROS=YES +NO_GAMES=YES +NO_RESCUE=YES +NO_LOCALES=YES +NO_SYSCONS=YES +NO_INFO=YES +' + +FlashDevice SanDisk 1G + +cust_nobeastie() ( + touch ${NANO_WORLDDIR}/boot/loader.conf + echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf +) + +customize_cmd cust_comconsole +customize_cmd cust_install_files +customize_cmd cust_allow_ssh_root +customize_cmd cust_nobeastie + + + + + Ενημερώνοντας το NanoBSD + + Η διαδικασία ενημέρωσης του NanoBSD + είναι σχετικά απλή: + + + + Δημιουργία ενός νέου + ειδώλου NanoBSD, με το συνηθισμένο + τρόπο. + + + + Ανέβασμα του νέου ειδώλου σε μια αχρησιμοποίητη κατάτμηση μιας + συσκευής που τρέχει NanoBSD. + + Η πιο σημαντική διαφορά αυτού του σημείου από την αρχική + εγκατάσταση του NanoBSD είναι ότι τώρα + αντί του αρχείου _.disk.full (το οποίο + περιέχει το είδωλο ενός ολόκληρου δίσκου), εγκαταστάθηκε το αρχείο + _.disk.image (το οποίο περιέχει το είδωλο + μιας μόνο κατάτμησης του δίσκου). + + + + Κλείσιμο και επανεκκίνηση του συστήματος από την νέα + εγκατεστημένη κατάτμηση. + + + + Αν όλα πάνε καλά, η αναβάθμιση τελείωσε. + + + + Αν οτιδήποτε πάει στραβά, επανεκκινήστε τη συσκευή από την + προηγούμενη κατάτμηση (η οποία περιέχει το παλιό είδωλο, που + λειτουργεί σωστά). Έτσι μπορείτε να επαναφέρετε άμεσα το σύστημα + σε λειτουργική κατάσταση. Διορθώστε οποιαδήποτε προβλήματα έχει + το νέο είδωλο, και επαναλάβετε την διαδικασία. + + + + Για να εγκατασταθεί το νέο είδωλο σε ένα + σύστημα NanoBSD, το οποίο ήδη βρίσκεται σε + λειτουργία, μπορεί να χρησιμοποιηθεί είτε το + σενάριο updatep1 είτε + το updatep2. Αυτά τα δύο σενάρια φλοιού + βρίσκονται στον + κατάλογο /root. + + Ανάλογα με τις υπηρεσίες του συστήματος στο οποίο δημιουργείται + ένα είδωλο NanoBSD, μπορεί να μεταφερθεί + ένα νέο είδωλο στο τελικό σύστημα με διάφορους τρόπους: + + + Χρησιμοποιώντας το &man.ftp.1; + + Αν σας ενδιαφέρει η καλή ταχύτητα μεταφοράς, χρησιμοποιήστε + το FTP για τη μεταφορά του ειδώλου: + + &prompt.root; ftp myhost +get _.disk.image "| sh updatep1" + + + + Χρησιμοποιώντας το &man.ssh.1; + + Αν σας ενδιαφέρει η μεταφορά του ειδώλου να γίνει με ασφαλή + τρόπο και δεν έχετε αφαιρέσει από το αρχικό είδωλο το &man.ssh.1;, + προτιμήστε τη μεταφορά μέσω SSH: + + &prompt.root; ssh myhost cat _.disk.image.gz | zcat | sh updatep1 + + + + Χρησιμοποιώντας το &man.nc.1; + + Αν το σύστημα στο οποίο έχει δημιουργηθεί το νέο είδωλο + του NanoBSD δεν τρέχει ούτε &man.ftpd.8; + ούτε &man.sshd.8;, μπορείτε να χρησιμοποιήσετε άλλα εργαλεία για τη + μεταφορά, όπως το &man.nc.1;: + + + + Πρώτα ανοίξτε ένα εξυπηρετητή TCP στο + σύστημα το οποίο θα παρέχει το νέο είδωλο, και ορίστε το νέο + είδωλο ως είσοδο για τη μεταφορά που θα γίνει αργότερα: + + myhost&prompt.root; nc -l 2222 < _.disk.image + + + Πριν από αυτό βεβαιωθείτε ότι η θύρα που χρησιμοποιείτε + για τον εξυπηρετητή μπορεί να δεχθεί εισερχόμενες συνδέσεις + από το σύστημα NanoBSD προς το + σύστημα του εξυπηρετητή, και δεν εμποδίζεται, για παράδειγμα, + από κάποιο τείχος προστασίας (firewall). + + + + + Συνδεθείτε από το NanoBSD στον + εξυπηρετητή, ο οποίος είναι ήδη έτοιμος να παρέχει το νέο + είδωλο, και τροφοδοτείστε το σενάριο + φλοιού updatep1 με την έξοδο του εργαλείου + &man.nc.1;: + + &prompt.root; nc myhost 2222 | sh updatep1 + + + + + +
+ +