576 lines
20 KiB
XML
576 lines
20 KiB
XML
<?xml version="1.0" encoding="iso-8859-7"?>
|
||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
|
||
"../../../share/xml/freebsd45.dtd">
|
||
|
||
<!--
|
||
Ελληνική μετάφραση του: Introduction to NanoBSD
|
||
|
||
The FreeBSD Greek Documentation Project
|
||
|
||
%SOURCE% en_US.ISO8859-1/articles/nanobsd/article.xml
|
||
%SRCID% 1.5
|
||
|
||
-->
|
||
|
||
<article lang='el'>
|
||
<articleinfo>
|
||
<title>Εισαγωγή στο NanoBSD</title>
|
||
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Daniel</firstname>
|
||
<surname>Gerzo</surname>
|
||
<!-- 14 March 2006 -->
|
||
</author>
|
||
<author>
|
||
<firstname>Κυριάκος</firstname>
|
||
<surname>Κεντρωτής</surname>
|
||
</author>
|
||
</authorgroup>
|
||
|
||
<copyright>
|
||
<year>2006, 2009</year>
|
||
<holder>Η Ομάδα Τεκμηρίωσης του &os;</holder>
|
||
</copyright>
|
||
|
||
<legalnotice id="trademarks" role="trademarks">
|
||
&tm-attrib.freebsd;
|
||
&tm-attrib.general;
|
||
</legalnotice>
|
||
|
||
<pubdate>$FreeBSD$</pubdate>
|
||
|
||
<releaseinfo>$FreeBSD$</releaseinfo>
|
||
|
||
<abstract>
|
||
<para>Το έγγραφο αυτό παρέχει πληροφορίες για τα εργαλεία
|
||
του <application>NanoBSD</application>, τα οποία μπορούν να
|
||
χρησιμοποιηθούν προκειμένου να δημιουργηθούν είδωλα του συστήματος
|
||
&os; για embedded εφαρμογές, κατάλληλες για χρήση από κάρτα Compact
|
||
Flash (ή άλλο μέσο αποθήκευσης).</para>
|
||
</abstract>
|
||
</articleinfo>
|
||
|
||
<sect1 id="intro">
|
||
<title>Εισαγωγή στο NanoBSD</title>
|
||
|
||
<indexterm><primary>NanoBSD</primary></indexterm>
|
||
|
||
<para>Το <application>NanoBSD</application> είναι ένα εργαλείο το οποίο
|
||
αναπτύσσεται ενεργά από τον &a.phk;. Δημιουργεί ένα εικονικό είδωλο του
|
||
συστήματος &os; για embedded εφαρμογές, ιδανικό για κάρτες Compact Flash
|
||
(ή άλλο μέσο αποθήκευσης).</para>
|
||
|
||
<para>Μπορεί να χρησιμοποιηθεί για να φτιαχτούν εξειδικευμένες εικόνες,
|
||
σχεδιασμένες για εύκολη εγκατάσταση και συντήρηση συστημάτων
|
||
τύπου <quote>computer appliance</quote>. Τα συστήματα τέτοιου είδους
|
||
έχουν το υλικό και λογισμικό τους ενοποιημένα μέσα στο προϊόν. Αυτό
|
||
σημαίνει πως συχνά είναι προεγκατεστημένα όλα τα απαραίτητα προγράμματα.
|
||
Η συσκευή συνδέεται σε ένα υπάρχον δίκτυο και μπορεί να λειτουργήσει
|
||
(σχεδόν) αμέσως.</para>
|
||
|
||
<para>Τα βασικά χαρακτηριστικά του <application>NanoBSD</application>
|
||
είναι:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Τα ports και τα πακέτα λειτουργούν όπως στο &os; —
|
||
οποιοδήποτε πρόγραμμα μπορεί να εγκατασταθεί και να χρησιμοποιηθεί
|
||
στο &os; μπορεί να ενσωματωθεί και σε ένα
|
||
είδωλο <application>NanoBSD</application> και να λειτουργήσει με τον
|
||
ίδιο τρόπο.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Δε υστερεί σε λειτουργικότητα — Αν είναι εφικτό να
|
||
γίνει κάτι με το &os;, τότε είναι εφικτό να γίνει το ίδιο πράμα και
|
||
με το <application>NanoBSD</application>, εκτός αν το συγκεκριμένο
|
||
χαρακτηριστικό έχει σκόπιμα αφαιρεθεί από το είδωλο
|
||
του <application>NanoBSD</application>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Το <application>NanoBSD</application> τρέχει με το σύστημα σε
|
||
κατάσταση προστασίας από εγγραφή. Μπορείτε ακόμα και να το
|
||
αποσυνδέσετε από το ρεύμα την ώρα που λειτουργεί. Δεν είναι
|
||
αναγκαίο να εκτελεστεί το &man.fsck.8; μετά από μια άγαρμπη διακοπή
|
||
λειτουργίας του συστήματος.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Είναι εύκολο να δημιουργηθεί και να προσαρμοστεί ένα
|
||
είδωλο <application>NanoBSD</application>. Με τη χρήση ενός μόνο
|
||
σεναρίου φλοιού και ενός αρχείου διαμόρφωσης είναι εφικτή η δόμηση
|
||
προσαρμοσμένων ειδώλων που ικανοποιούν οποιαδήποτε ανάγκη.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect1>
|
||
|
||
<sect1 id="howto">
|
||
<title>Ρύθμιση του NanoBSD</title>
|
||
|
||
<sect2 id="design">
|
||
<title>Η Σχεδίαση του NanoBSD</title>
|
||
|
||
<para>Αφού γραφτεί ένα είδωλο του <application>NanoBSD</application> σε
|
||
κάποιο αποθηκευτικό μέσο, μπορεί να χρησιμοποιηθεί για να ξεκινήσει
|
||
ένα σύστημα &os;. Η προκαθορισμένη διαμόρφωση του μέσου εκκίνησης
|
||
αποτελείται από τρία μέρη:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Δύο διαμερίσματα εκκίνησης: <literal>code#1</literal>
|
||
και <literal>code#2</literal>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Το διαμέρισμα ρυθμίσεων, Αυτό μπορεί να προσαρτηθεί στον
|
||
κατάλογο <filename class="directory">/cfg</filename> την ώρα
|
||
λειτουργίας του <application>NanoBSD</application>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Αυτά τα τρία διαμερίσματα κανονικά είναι προσαρτημένα μόνο για
|
||
ανάγνωση.</para>
|
||
|
||
<para>Οι κατάλογοι <filename class="directory">/etc</filename>
|
||
και <filename class="directory">/var</filename> είναι εικονικοί δίσκοι
|
||
&man.md.4; (malloc).</para>
|
||
|
||
<para>Το διαμέρισμα ρυθμίσεων μπορεί να προσαρτηθεί στον
|
||
κατάλογο <filename class="directory">/cfg</filename>. Περιέχει αρχεία
|
||
τα οποία αντιγράφονται στον
|
||
κατάλογο <filename class="directory">/etc</filename>. Κατά την
|
||
εκκίνηση του συστήματος το διαμέρισμα ρυθμίσεων προσαρτάται προσωρινά
|
||
μόνο για ανάγνωση και αντιγράφονται τα αρχεία του στον
|
||
κατάλογο <filename class="directory">/etc</filename>. Οπότε για να
|
||
είναι κάποια αλλαγή ρυθμίσεων πιο <quote>μόνιμη</quote> και να ισχύει
|
||
ακόμα και μετά από επανεκκίνηση του συστήματος, πρέπει να αντιγράφεται
|
||
από τον κατάλογο <filename class="directory">/etc</filename> στο
|
||
διαμέρισμα ρυθμίσεων, αφού αυτό προσαρτηθεί για γράψιμο στον
|
||
κατάλογο <filename class="directory">/cfg</filename>.</para>
|
||
|
||
<example>
|
||
<title>Κάνοντας μόνιμες αλλαγές στο <filename>/etc/resolv.conf</filename></title>
|
||
|
||
<screen>&prompt.root; <userinput>vi /etc/resolv.conf</userinput>
|
||
[...]
|
||
&prompt.root; <userinput>mount /cfg</userinput>
|
||
&prompt.root; <userinput>cp /etc/resolv.conf /cfg</userinput>
|
||
&prompt.root; <userinput>umount /cfg</userinput></screen>
|
||
</example>
|
||
|
||
<note>
|
||
<para>Το διαμέρισμα το οποίο περιέχει τον
|
||
κατάλογο <filename class="directory">/cfg</filename> πρέπει να
|
||
προσαρτάται μόνο κατά την εκκίνηση και όταν έχουν προτεραιότητα τα
|
||
αρχεία ρυθμίσεων
|
||
του <filename class="directory">/cfg</filename>.</para>
|
||
|
||
<para>Δεν είναι καλή ιδέα να μένει μόνιμα προσαρτημένο το
|
||
διαμέρισμα <filename class="directory">/cfg</filename>. Αν ένα
|
||
διαμέρισμα είναι προσαρτημένο για γράψιμο και το αποθηκευτικό μέσο
|
||
του <application>NanoBSD</application> επιτρέπει περιορισμένο αριθμό
|
||
κύκλων εγγραφής (όπως π.χ. μερικές κάρτες CF), μπορεί να επηρεαστεί
|
||
αρνητικά το αποθηκευτιμό μέσο επειδή ο πυρήνας γράφει κάθε λίγο
|
||
στους δίσκους του συστήματος (syncer).</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Δημιουργία Ενός Προσαρμοσμένου Συστήματος NanoBSD</title>
|
||
|
||
<para>Το είδωλο του <application>NanoBSD</application> δημιουργείται από
|
||
ένα απλό σενάριο κονσόλας, το <filename>nanobsd.sh</filename>, το
|
||
οποίο μπορεί να βρεθεί στον
|
||
κατάλογο <filename class="directory">/usr/src/tools/nanobsd</filename>.
|
||
Αυτό το σενάριο δημιουργεί ένα είδωλο δίσκου, το οποίο μπορεί να
|
||
αντιγραφεί απευθείας σε κάποιο αποθηκευτικό μεσο χρησιμοποιώντας το
|
||
πρόγραμμα &man.dd.1;.</para>
|
||
|
||
<para>Οι απαραίτητες εντολές προκειμένου να δημιουργηθεί ένα είδωλο
|
||
του <application>NanoBSD</application> είναι οι εξής:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/src/tools/tools/nanobsd</userinput> <co id="nbsd-cd"/>
|
||
&prompt.root; <userinput>sh nanobsd.sh</userinput> <co id="nbsd-sh"/>
|
||
&prompt.root; <userinput>cd /usr/obj/nanobsd.full</userinput> <co id="nbsd-cd2"/>
|
||
&prompt.root; <userinput>dd if=_.disk.full of=/dev/da0 bs=64k</userinput> <co id="nbsd-dd"/></screen>
|
||
|
||
<calloutlist>
|
||
<callout arearefs="nbsd-cd">
|
||
<para>Αλλαγή από τον τρέχοντα κατάλογο στον βασικό κατάλογο του
|
||
σεναρίου δημιουργίας
|
||
του <application>NanoBSD</application>.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="nbsd-sh">
|
||
<para>Εκκίνηση της δημιουργίας του ειδώλου.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="nbsd-cd2">
|
||
<para>Αλλαγή από τον τρέχοντα κατάλογο στον κατάλογο που περιέχει το
|
||
είδωλο του <application>NanoBSD</application>.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="nbsd-dd">
|
||
<para>Αντιγραφή του <application>NanoBSD</application> σε ένα μέσο
|
||
αποθήκευσης.</para>
|
||
</callout>
|
||
</calloutlist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Προσαρμόζοντας το είδωλο του NanoBSD</title>
|
||
|
||
<para>Αυτό είναι πιθανότατα το πιο σημαντικό και πιο ενδιαφέρον
|
||
χαρακτηριστικό του <application>NanoBSD</application>. Αυτό είναι και
|
||
το μέρος της διαδικασίας ανάπτυξης του
|
||
ειδώλου <application>NanoBSD</application> για το οποίο θα ξοδέψετε
|
||
ένα μεγάλο ποσοστό του χρόνου προετοιμασίας του ειδώλου.</para>
|
||
|
||
<para>Η ακόλουθη εντολή θα κάνει το <filename>nanobsd.sh</filename> να
|
||
διαβάσει τις ρυθμίσεις του από το
|
||
αρχείο <filename>myconf.nano</filename> που βρίσκεται στο τρέχοντα
|
||
κατάλογο:</para>
|
||
|
||
<screen>&prompt.root; <userinput>sh nanobsd.sh -c myconf.nano</userinput></screen>
|
||
|
||
<para>Η προσαρμογή και παραμετροποίηση
|
||
του <application>NanoBSD</application> γίνεται συνήθως με δύο
|
||
τρόπους:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Επιλογές διαμόρφωσης</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Προσαρμοσμένες συναρτήσεις</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<sect3>
|
||
<title>Επιλογές διαμόρφωσης</title>
|
||
|
||
<para>Οι ρυθμίσεις του <application>NanoBSD</application> μπορούν να
|
||
χρησιμοποιηθούν για να οριστούν προσαρμοσμένες επιλογές
|
||
μεταγλώττισης και εγκατάστασης του &os;. Αυτές οι επιλογές
|
||
επηρεάζουν τα στάδια <maketarget>buildworld</maketarget>
|
||
και <maketarget>installworld</maketarget>
|
||
του <application>NanoBSD</application>, καθώς και άλλες επιλογές της
|
||
δημιουργίας του τελικού ειδώλου. Με τις κατάλληλες ρυθμίσεις
|
||
το <application>NanoBSD</application> μπορεί να μικρύνει αρκετά σε
|
||
μέγεθος· μπορεί να χωρέσει ένα πολύ μικρό υποσύνολο του βασικού &os;
|
||
σε χώρο μικρότερο από 64MB. Μπορείτε επίσης να χρησιμοποιήσετε τις
|
||
επιλογές του <application>NanoBSD</application> για να δημιουργήσετε
|
||
ένα είδωλο που έχει μόνο τον πυρήνα και δυο-τρία αρχεία στο βασικό
|
||
σύστημα.</para>
|
||
|
||
<para>Το αρχείο ρυθμίσεων του <application>NanoBSD</application>
|
||
περιέχει εντολές οι οποίες ορίζουν νέες τιμές για κάποια
|
||
προκαθορισμένη μεταβλητή ή επεκτείνουν τις υπάρχουσες ρυθμίσεις. Οι
|
||
πιο σημαντικές μεταβλητές είναι οι εξής:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><literal>NANO_NAME</literal> — Το όνομα του
|
||
ειδώλου <application>NanoBSD</application> που θα δημιουργηθεί
|
||
(χρησιμοποιείται για να φτιάξει τα ονόματα των κατάλογων
|
||
εργασίας).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>NANO_SRC</literal> — Η διαδρομή του δέντρου
|
||
πηγαίου κώδικα το οποίο θα χρησιμοποιηθεί για να μετγλωττιστεί
|
||
το είδωλο.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>NANO_KERNEL</literal> — Το όνομα του αρχείου
|
||
ρυθμίσεων πυρήνα το οποίο θα χρησιμοποιηθεί για να χτιστεί ο
|
||
πυρήνας του ειδώλου.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>CONF_BUILD</literal> — Επιλογές που περνούν
|
||
στο στάδιο <maketarget>buildworld</maketarget> της μεταγλώττισης του
|
||
&os;.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>CONF_INSTALL</literal> — Επιλογές που περνούν
|
||
στο στάδιο <maketarget>installworld</maketarget> της προετοιμασίας του
|
||
ειδώλου.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>CONF_WORLD</literal> — Επιλογές που περνούν
|
||
και στα δύο στάδια της προετοιμασίας του ειδώλου, και
|
||
στο <maketarget>buildworld</maketarget> και
|
||
στο <maketarget>installworld</maketarget>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>FlashDevice</literal> — Ορίζει τον τύπο
|
||
του μέσου αποθήκευσης που θα χρησιμοποιηθεί. Για περισσότερες
|
||
λεπτομέρειες δείτε το
|
||
αρχείο <filename>FlashDevise.sub</filename>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Προσαρμοσμένες Συναρτήσεις</title>
|
||
|
||
<para>Στο αρχείο ρύθμισης του <application>NanoBSD</application>
|
||
μπορεί να ρυθμιστεί σχεδόν κάθε λεπτομέρεια της προετοιμασίας του
|
||
ειδώλου και του τελικού ειδώλου το οποίο θα δημιουργηθεί.
|
||
Χρησιμοποιώντας μικρές συναρτήσεις φλοιού, μπορούμε να ρυθμίσουμε τα
|
||
πάντα. Για παράδειγμα, μπορούμε να τρέξουμε δικές μας εντολές οι
|
||
οποίες παραμετροποιούν το τελικό είδωλο ως εξής:</para>
|
||
|
||
<programlisting>cust_foo () (
|
||
echo "bar=topless" > \
|
||
${NANO_WORLDDIR}/etc/foo
|
||
)
|
||
customize_cmd cust_foo</programlisting>
|
||
|
||
<para>Ένα πιο χρήσιμο παράδειγμα συνάρτησης φλοιού, η οποία ρυθμίζει
|
||
κάποια παράμετρο του τελικού ειδώλου, είναι αυτό που ακολουθεί. Η
|
||
συνάρτηση <literal>cust_etc_size</literal> αλλάζει την προεπιλεγμένη
|
||
τιμή μεγέθους του
|
||
καταλόγου <filename class="directory">/etc</filename> από 5MB σε
|
||
30MB:</para>
|
||
|
||
<programlisting>cust_etc_size () (
|
||
cd ${NANO_WORLDDIR}/conf
|
||
echo 30000 > default/etc/md_size
|
||
)
|
||
customize_cmd cust_etc_size</programlisting>
|
||
|
||
<para>Το σενάριο φλοιού που δημιουργεί
|
||
το <application>NanoBSD</application> έχει μερικές έτοιμες
|
||
συναρτήσεις φλοιού οι οποίες εκτελούν τέτοιες επιπλέον
|
||
ρυθμίσεις:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><literal>cust_comconsole</literal> — Απενεργοποιεί το
|
||
&man.getty.8; στις κονσόλες VGA (οι
|
||
συσκευές <filename>/dev/ttyv*</filename>) και ενεργοποιεί την
|
||
χρήση της σειριακής θύρας COM1 ως κονσόλα συστήματος.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>cust_allow_ssh_root</literal> — Επιτρέπει την
|
||
είσοδο του χρήστη <username>root</username> μέσω του
|
||
&man.sshd.8;.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>cust_install_files</literal> — Εγκαθιστά
|
||
αρχεία από τον
|
||
κατάλογο <filename class="directory">nanobsd/Files</filename>.
|
||
Σε αυτό τον κατάλογο βρίσκονται μερικά χρήσιμα σενάρια φλοιού
|
||
για τη διαχείριση
|
||
ενός συστήματος <application>NanoBSD</application>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Προσθέτοντας Πακέτα</title>
|
||
|
||
<para>Σε ένα είδωλο <application>NanoBSD</application> μπορούν να
|
||
προστεθούν και έτοιμα πακέτα, που έχουν φτιαχτεί από πριν
|
||
χρησιμοποιώντας τη Συλλογή των Ports. Μια συνάρτηση φλοιού μπορεί
|
||
να εγκαταστήσει έξτρα πακέτα την ώρα που προετοιμάζεται το είδωλο.
|
||
Για παράδειγμα, η παρακάτω συνάρτηση θα εγκαταστήσει στο είδωλο όλα
|
||
τα πακέτα που βρίσκονται στον
|
||
κατάλογο <filename class="directory">/usr/src/tools/tools/nanobsd/packages</filename>:</para>
|
||
|
||
<programlisting>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</programlisting>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Παράδειγμα Αρχείου Ρυθμίσεων του NanoBSD</title>
|
||
|
||
<para>Ένα πλήρες παράδειγμα αρχείου ρυθμίσεων για
|
||
το <application>NanoBSD</application>, με διάφορες ρυθμίσεις για τη
|
||
μεταγλώττιση του &os; και την προετοιμασία του τελικού ειδώλου,
|
||
μπορεί να μοιάζει κάπως έτσι:</para>
|
||
|
||
<programlisting>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</programlisting>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Ενημερώνοντας το NanoBSD</title>
|
||
|
||
<para>Η διαδικασία ενημέρωσης του <application>NanoBSD</application>
|
||
είναι σχετικά απλή:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Δημιουργία ενός νέου
|
||
ειδώλου <application>NanoBSD</application>, με το συνηθισμένο
|
||
τρόπο.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Ανέβασμα του νέου ειδώλου σε μια αχρησιμοποίητη κατάτμηση μιας
|
||
συσκευής που τρέχει <application>NanoBSD</application>.</para>
|
||
|
||
<para>Η πιο σημαντική διαφορά αυτού του σημείου από την αρχική
|
||
εγκατάσταση του <application>NanoBSD</application> είναι ότι τώρα
|
||
αντί του αρχείου <filename>_.disk.full</filename> (το οποίο
|
||
περιέχει το είδωλο ενός ολόκληρου δίσκου), εγκαταστάθηκε το αρχείο
|
||
<filename>_.disk.image</filename> (το οποίο περιέχει το είδωλο
|
||
μιας μόνο κατάτμησης του δίσκου).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Κλείσιμο και επανεκκίνηση του συστήματος από την νέα
|
||
εγκατεστημένη κατάτμηση.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Αν όλα πάνε καλά, η αναβάθμιση τελείωσε.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Αν οτιδήποτε πάει στραβά, επανεκκινήστε τη συσκευή από την
|
||
προηγούμενη κατάτμηση (η οποία περιέχει το παλιό είδωλο, που
|
||
λειτουργεί σωστά). Έτσι μπορείτε να επαναφέρετε άμεσα το σύστημα
|
||
σε λειτουργική κατάσταση. Διορθώστε οποιαδήποτε προβλήματα έχει
|
||
το νέο είδωλο, και επαναλάβετε την διαδικασία.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Για να εγκατασταθεί το νέο είδωλο σε ένα
|
||
σύστημα <application>NanoBSD</application>, το οποίο ήδη βρίσκεται σε
|
||
λειτουργία, μπορεί να χρησιμοποιηθεί είτε το
|
||
σενάριο <filename>updatep1</filename> είτε
|
||
το <filename>updatep2</filename>. Αυτά τα δύο σενάρια φλοιού
|
||
βρίσκονται στον
|
||
κατάλογο <filename class="directory">/root</filename>.</para>
|
||
|
||
<para>Ανάλογα με τις υπηρεσίες του συστήματος στο οποίο δημιουργείται
|
||
ένα είδωλο <application>NanoBSD</application>, μπορεί να μεταφερθεί
|
||
ένα νέο είδωλο στο τελικό σύστημα με διάφορους τρόπους:</para>
|
||
|
||
<sect3>
|
||
<title>Χρησιμοποιώντας το &man.ftp.1;</title>
|
||
|
||
<para>Αν σας ενδιαφέρει η καλή ταχύτητα μεταφοράς, χρησιμοποιήστε
|
||
το <acronym>FTP</acronym> για τη μεταφορά του ειδώλου:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ftp myhost
|
||
get _.disk.image "| sh updatep1"</userinput></screen>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Χρησιμοποιώντας το &man.ssh.1;</title>
|
||
|
||
<para>Αν σας ενδιαφέρει η μεταφορά του ειδώλου να γίνει με ασφαλή
|
||
τρόπο και δεν έχετε αφαιρέσει από το αρχικό είδωλο το &man.ssh.1;,
|
||
προτιμήστε τη μεταφορά μέσω <acronym>SSH</acronym>:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ssh myhost cat _.disk.image.gz | zcat | sh updatep1</userinput></screen>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Χρησιμοποιώντας το &man.nc.1;</title>
|
||
|
||
<para>Αν το σύστημα στο οποίο έχει δημιουργηθεί το νέο είδωλο
|
||
του <application>NanoBSD</application> δεν τρέχει ούτε &man.ftpd.8;
|
||
ούτε &man.sshd.8;, μπορείτε να χρησιμοποιήσετε άλλα εργαλεία για τη
|
||
μεταφορά, όπως το &man.nc.1;:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Πρώτα ανοίξτε ένα εξυπηρετητή <acronym>TCP</acronym> στο
|
||
σύστημα το οποίο θα παρέχει το νέο είδωλο, και ορίστε το νέο
|
||
είδωλο ως είσοδο για τη μεταφορά που θα γίνει αργότερα:</para>
|
||
|
||
<screen>myhost&prompt.root; <userinput>nc -l <replaceable>2222</replaceable> < _.disk.image</userinput></screen>
|
||
|
||
<note>
|
||
<para>Πριν από αυτό βεβαιωθείτε ότι η θύρα που χρησιμοποιείτε
|
||
για τον εξυπηρετητή μπορεί να δεχθεί εισερχόμενες συνδέσεις
|
||
από το σύστημα <application>NanoBSD</application> προς το
|
||
σύστημα του εξυπηρετητή, και δεν εμποδίζεται, για παράδειγμα,
|
||
από κάποιο τείχος προστασίας (<quote>firewall</quote>).</para>
|
||
</note>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Συνδεθείτε από το <application>NanoBSD</application> στον
|
||
εξυπηρετητή, ο οποίος είναι ήδη έτοιμος να παρέχει το νέο
|
||
είδωλο, και τροφοδοτείστε το σενάριο
|
||
φλοιού <filename>updatep1</filename> με την έξοδο του εργαλείου
|
||
&man.nc.1;:</para>
|
||
|
||
<screen>&prompt.root; <userinput>nc myhost <replaceable>2222</replaceable> | sh updatep1</userinput></screen>
|
||
</step>
|
||
</procedure>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
</article>
|