aboutsummaryrefslogtreecommitdiff
path: root/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml
diff options
context:
space:
mode:
authorGiorgos Keramidas <keramida@FreeBSD.org>2009-02-01 04:30:59 +0000
committerGiorgos Keramidas <keramida@FreeBSD.org>2009-02-01 04:30:59 +0000
commit405ab0431be9b4b6940f457a25dc66b2ac79a17f (patch)
treecc281255b1b569d8e77aa320351830d88ed4e40b /el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml
parent52ee421a00b6a536cd05a7c3e847f4e532965693 (diff)
downloaddoc-405ab0431be9b4b6940f457a25dc66b2ac79a17f.tar.gz
doc-405ab0431be9b4b6940f457a25dc66b2ac79a17f.zip
MFen: 1.239 -> 1.240 en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
Obtained from: FreeBSD Greek Documentation Project
Notes
Notes: svn path=/head/; revision=33790
Diffstat (limited to 'el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml')
-rw-r--r--el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml224
1 files changed, 222 insertions, 2 deletions
diff --git a/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml b/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml
index 47f96ffb81..0fed4926a8 100644
--- a/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml
@@ -7,7 +7,7 @@
$FreeBSD$
%SOURCE% en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
- %SRCID% 1.239
+ %SRCID% 1.240
-->
@@ -1712,7 +1712,227 @@ DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile</programlisting>
<filename>/usr/src/UPDATING</filename> για τυχόν βήματα που θα πρέπει
να εκτελέσετε πριν την εκκίνηση της μεταγλώττισης. Τα βήματα αυτά
εξαρτώνται από την έκδοση του πηγαίου κώδικα που πρόκειται να
- χρησιμοποιήσετε. Έπειτα, ακολουθήστε την παρακάτω διαδικασία:</para>
+ χρησιμοποιήσετε. Έπειτα, ακολουθήστε τη διαδικασία που περιγράφεται
+ στις επόμενες παραγράφους.</para>
+
+ <para>Η διαδικασία αναβάθμισης η οποία περιγράφεται εδώ βασίζεται στην
+ υπόθεση ότι έχει ήδη εγκαταστήσει μια παλιότερη έκδοση του &os;, με
+ μια παλιά έκδοση του μεταγλωττιστή, ένα παλιό πυρήνα,
+ παλιά <quote>εργαλεία χρήστη</quote> και αρχεία ρυθμίσεων. Εργαλεία
+ χρήστη θεωρούνται τα βασικά εκτελέσιμα, οι βιβλιοθήκες και τα αρχεία
+ προγραμματισμού. Ο μεταγλωττιστής είναι κι αυτός μέρος από τα
+ <quote>εργαλεία χρήστη</quote> στο &os;, αλλά χρειάζεται ειδική
+ μεταχείριση κατά τη διαδικασία αναβάθμισης.</para>
+
+ <para>Υποθέτουμε, επίσης, ότι έχετε ήδη κατεβάσει μια ενημερωμένη έκδοση
+ από τον πηγαίο κώδικα του συστήματος. Αν ο πηγαίος κώδικας στο
+ συγκεκριμένο σύστημα είναι από παλιότερη έκδοση, δείτε
+ το <xref linkend="synching"> για λεπτομερείς οδηγίες σχετικά με το πως
+ να συγχρονίσετε τον πηγαίο κώδικα σε μια νεότερη έκδοση.</para>
+
+ <para>Η αναβάθμιση του &os; από τον πηγαίο κώδικά του φαίνεται να είναι
+ πολύ απλή διαδικασία. Στην πραγματικότητα, έχει κάποιες
+ ιδιαιτερότητες. Με τα χρόνια, καθώς οι εξαρτήσεις μεταξύ των βημάτων
+ της αναβάθμισης ανακαλύπτονται ή αναλύονται καλύτερα, οι
+ προγραμματιστές του &os; αλλάζουν σιγά-σιγά αυτή τη διαδικασία. Οι
+ παρακάτω παράγραφοι περιγράφουν τη λογική με την οποία έχει σχεδιασθεί
+ η προτεινόμενη διαδικασία αναβάθμισης.</para>
+
+ <para>Μια επιτυχής διαδικασία αναβάθμισης πρέπει να καλύψει τουλάχιστον
+ τις δύο πιο βασικές ιδιαιτερότητες μιας αναβάθμισης από πηγαίο
+ κώδικα:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Ο παλιός μεταγλωττιστής συστήματος μπορεί να είναι ακατάλληλος
+ για μεταγλώττιση του νέου πυρήνα. (Και οι μεταγλωττιστές έχουν
+ ορισμένες προβλήματα, όπως κάθε άλλο λογισμικό.) Οπότε ο νέος
+ πυρήνας πρέπει να μεταγλωττιστεί με το νέο μεταγλωττιστή. Πιο
+ συγκεκριμένα, ο νέος μεταγλωττιστής πρέπει να αναβαθμιστεί πριν
+ από το νέο πυρήνα. Αυτό δε σημαίνει βέβαια ότι αυτός ο νέος
+ μεταγλωττιστής πρέπει να <emphasis>εγκατασταθεί</emphasis> πριν
+ μεταγλωττιστεί ο νέος πυρήνας.</para>
+ </listitem>
+
+ <listitem>
+ <para>Τα νέα εργαλεία χρήστη από το βασικό σύστημα του &os; μπορεί
+ να εξαρτώνται από τον τρόπο λειτουργίας του νέου πυρήνα. Οπότε ο
+ νέος πυρήνας πρέπει να εγκατασταθεί πριν από το νέο βασικό
+ σύστημα.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Αυτά τα δύο σημεία είναι οι βασικοί λόγοι για τους οποίους
+ προτείνονται τα κεντρικά βήματα μιας αναβάθμισης, τα
+ βήματα <maketarget>buildworld</maketarget>,
+ <maketarget>buildkernel</maketarget>,
+ <maketarget>installkernel</maketarget>,
+ και <maketarget>installworld</maketarget>. Στις επόμενες παραγράφους
+ θα περιγράψουμε πιο αναλυτικά αυτά τα βήματα. Υπάρχουν κι άλλοι λόγοι
+ όμως για τους οποίους χρειάζεται προσοχή όταν κάνετε μια τέτοια
+ αναβάθμιση. Μερικοί από αυτούς είναι οι εξής:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Τα παλιά εργαλεία του βασικού συστήματος μπορεί να μην τρέχουν
+ σωστά με το νέο πυρήνα. Γι αυτό πρέπει να εγκατασταθεί το
+ ενημερωμένο βασικό σύστημα αμέσως μετά την εγκατάσταση του νέου
+ πυρήνα.</para>
+ </listitem>
+
+ <listitem>
+ <para>Μερικές φορές χρειάζονται αλλαγές στα αρχεία ρυθμίσεων πριν
+ εγκατασταθεί το νέο βασικό σύστημα. Άλλες φορές η εγκατάσταση
+ όλων των αρχείων ρυθμίσεων μπορεί να δημιουργήσει προβλήματα στην
+ εγκατάσταση. Γι αυτό έχουμε χωρίσει την ενημέρωση των αρχείων
+ ρυθμίσεων σε δύο ξεχωριστά βήματα.</para>
+ </listitem>
+
+ <listitem>
+ <para>Στην πλειοψηφία των περιπτώσεων η διαδικασία εγκατάστασης
+ αντικαθιστά ή προσθέτει αρχεία του συστήματος· δε σβήνει κανένα
+ υπάρχον αρχείο. Σε μερικές περιπτώσεις αυτό μπορεί να
+ δημιουργήσει προβλήματα. Όταν υπάρχει τέτοια περίπτωση, η
+ διαδικασία εγκατάστασης τυπώνει ενημερωτικά μηνύματα για τα αρχεία
+ τα οποία πρέπει να σβηστούν χειροκίνητα. Αυτό το βήμα μπορεί να
+ αυτοματοποιηθεί στο μέλλον.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Έχοντας όλες αυτές τις ιδιαιτερότητες μιας αναβάθμισης από πηγαίο
+ κώδικα, καταλήξαμε στην παρακάτω διαδικασία αναβάθμισης. Ορισμένες
+ φορές μπορεί να χρειάζεται να προσθέσετε κάποια βήματα σε αυτή τη
+ διαδικασία. Τα βασικά βήματα όμως παραμένουν τα ίδια, κι είναι τα
+ εξής:</para>
+
+ <orderedlist>
+ <listitem>
+ <para><command>make <maketarget>buildworld</maketarget></command></para>
+
+ <para>Αυτό το βήμα μεταγλωττίζει πρώτα μια ενημερωμένη έκδοση του
+ ίδιου του μεταγλωττιστή συστήματος και μερικών απαραίτητων
+ εργαλείων. Ύστερα, χρησιμοποιώντας το νέο μεταγλωττιστή,
+ προετοιμάζει μια νέα έκδοση όλου του βασικού συστήματος του &os;.
+ Τα ενημερωμένα εκτελέσιμα, βιβλιοθήκες και αρχεία προγραμματισμού
+ καταλήγουν στον
+ κατάλογο <filename class="directory">/usr/obj</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>buildkernel</maketarget></command></para>
+
+ <para>Σε αντίθεση με παλιότερες διαδικασίες αναβάθμισης (οι οποίες
+ καλούσαν χειροκίνητα το &man.config.8; και το &man.make.1;) αυτό
+ το βήμα μεταγλωττίζει τον πυρήνα του &os; χρησιμοποιώντας τον
+ ενημερωμένο μεταγλωττιστή συστήματος από τον
+ κατάλογο <filename class="directory">/usr/obj</filename>. Αυτό
+ σας προστατεύει από προβλήματα ασυμβατότητας μεταξύ του
+ μεταγλωττιστή και του πυρήνα.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>installkernel</maketarget></command></para>
+
+ <para>Εγκατάσταση του νέου πυρήνα και των αρθρωμάτων του στο δίσκο
+ του συστήματος. Έτσι μπορεί πλέον το σύστημα να ξεκινήσει με το
+ νέο, ενημερωμένο πυρήνα.</para>
+ </listitem>
+
+ <listitem>
+ <para>Εκκίνηση σε λειτουργία single user.</para>
+
+ <para>Η λειτουργία single user ελαχιστοποιεί την πιθανότητα να έχετε
+ προβλήματα επειδή αναβαθμίσατε κάποιο πρόγραμμα που τρέχει ήδη.
+ Είναι επίσης πιο ασφαλής, αφού δε χρειάζεται να τρέξετε τις
+ εφαρμογές του παλιού βασικού συστήματος με το νέο πυρήνα.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>mergemaster <option>-p</option></command></para>
+
+ <para>Αυτό το βήμα ενημερώνει τα απολύτως βασικά αρχεία ρυθμίσεων
+ του &os;, για να μπορέσετε να εγκαταστήσετε σωστά το νέο βασικό
+ σύστημα. Ενημερώνει, για παράδειγμα, τη βάση χρηστών και ομάδων
+ χρηστών του &os;. Κάθε φορά που προστίθεται ένας νέος χρήστης
+ συστήματος ή μια νέα ομάδα χρηστών, το
+ βήμα <maketarget>installworld</maketarget> της αναβάθμισης θεωρεί
+ ότι έχετε ήδη ρυθμίσει τους νέους χρήστες ή τις νέες ομάδες. Αυτό
+ ακριβώς κάνει σε αυτό το σημείο το εργαλείο
+ &man.mergemaster.8;.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>installworld</maketarget></command></para>
+
+ <para>Το επόμενο βήμα είναι να εγκαταστήσετε το ενημερωμένο βασικό
+ σύστημα από τον
+ κατάλογο <filename class="directory">/usr/obj</filename>. Μετά
+ από αυτό έχετε πλέον ένα νέο πυρήνα και ένα ενημερωμένο βασικό
+ σύστημα, το οποίο ταιριάζει με τον νέο πυρήνα.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>mergemaster</command></para>
+
+ <para>Ένα από τα τελευταία βήματα είναι η αναβάθμιση των αρχείων
+ ρυθμίσεων του συστήματος. Το εργαλείο &man.mergemaster.8; μπορεί
+ να σας βοηθήσει σε αυτό το βήμα, αφού ενημερώνει τα αρχεία
+ ρυθμίσεων κρατώντας και οποιεσδήποτε τοπικές αλλαγές έχετε κάνει
+ στο σύστημά σας.</para>
+ </listitem>
+
+ <listitem>
+ <para>Επανεκκινήστε το σύστημα.</para>
+
+ <para>Μια τελευταία επανεκκίνηση του συστήματος σας εξασφαλίζει ότι
+ το σύστημα ξεκινάει με το νέο πυρήνα, το ενημερωμένο βασικό
+ σύστημα και τα καινούρια αρχεία ρυθμίσεων.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Αν η αναβάθμιση που κάνετε είναι από μια έκδοση του &os; σε μια
+ πιο καινούρια έκδοση του ίδιου κλάδου ανάπτυξης, π.χ. από 7.0 σε 7.1,
+ τότε μερικά από τα βήματα αυτή της διαδικασίας μπορεί να μη
+ χρειάζονται αφού είναι λιγότερο πιθανό να συναντήσετε ασυμβατότητες
+ μεταξύ του μεταγλωττιστή συστήματος, του πυρήνα, του βασικού
+ συστήματος και των αρχείων ρυθμίσεων. Η αναβάθμιση σε τέτοιες
+ περιπτώσεις, μεταξύ δύο minor εκδόσεων του &os;, ίσως μπορεί να γίνει
+ και με την παλιότερη διαδικασία:
+ τρέχοντας<command>make <maketarget>world</maketarget></command> και
+ ύστερα μεταγλωττίζοντας και στήνοντας ένα νέο πυρήνα.</para>
+
+ <para>Όταν όμως αναβαθμίσετε το &os; μεταξύ major εκδόσεων, καλύτερα να
+ χρησιμοποιήσετε τη διαδικασία που περιγράφουμε εδώ. Αλλιώς μπορεί να
+ αντιμετωπίσετε προβλήματα είτε κατά τη διάρκεια της αναβάθμισης ή αφού
+ έχει πλέον ολοκληρωθεί.</para>
+
+ <para>Κάποιες από τις αναβαθμίσεις (π.χ. από μια έκδοση
+ &nbsp;4.<replaceable>X</replaceable> σε 5.0) μπορεί να απαιτούν μερικά
+ χειροκίνητα βήματα (όπως το να μετακινήσετε ή να σβήσετε συγκεκριμένα
+ αρχεία πριν το βήμα <maketarget>installworld</maketarget>). Πριν από
+ κάθε αναβάθμιση διαβάστε προσεκτικά τις οδηγίες στο
+ αρχείο <filename>/usr/src/UPDATING</filename>· ειδικά τις οδηγίες στο
+ τέλος του αρχείου, οι οποίες περιγράφουν αναλυτικά την προτεινόμενη
+ διαδικασία αναβάθμισης.</para>
+
+ <para>Αυτή η διαδικασία αναβάθμισης εξελλίσεται και διορθώνεται καθώς οι
+ προγραμματιστές του &os; ανακαλύπτουν καινούριες εξαρτήσεις μεταξύ των
+ συστατικών του συστήματος ή κάνουν διορθώσεις για να αποφύγουν
+ ασυμβατότητες μεταξύ των διαφορετικών υποσυστημάτων. Ελπίζουμε ότι τα
+ κεντρικά βήματα της διαδικασίας που περιγράφεται εδώ δε θα αλλάξουν
+ πολύ για αρκετό καιρό πλέον.</para>
+
+ <note>
+ <para>Η αναβάθμιση του &os; από τις εκδόσεις
+ 3.<replaceable>X</replaceable> ή από παλιότερες εκδόσεις είναι
+ σχετικά πιο περίπλοκη διαδικασία. Διαβάστε με πολλή προσοχή το
+ αρχείο <filename>UPDATING</filename> αν πραγματικά χρειαστεί να
+ αναβαθμίσετε ένα τέτοιο σύστημα.</para>
+ </note>
+
+ <para>Οπότε, συγκεντρώνοντας όλα τα βήματα τα οποία περιγράψαμε
+ παραπάνω, η πρτεινόμενη διαδικασία αναβάθμισης του &os; από τον πηγαίο
+ κώδικα του συστήματος είναι:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>